업데이트 로그

Nginx 구성 요약

Nginx 일반적인 구성 조각 빠른 참조표, 구성 코드 빠르게 검색 및 복사

기본 구성
7

작업 프로세스 수 자동 설정 (보통 CPU 코어 수와 동일)

worker_processes auto;

각 작업 프로세스의 최대 연결 수 설정

events {
    worker_connections 1024;
}

MIME 유형 구성 포함

include /etc/nginx/mime.types;
default_type application/octet-stream;

효율적인 파일 전송 활성화

sendfile on;
tcp_nopush on;
tcp_nodelay on;

장기 연결 타임아웃 시간 설정

keepalive_timeout 65;

클라이언트 요청 본문 최대 크기 설정

client_max_body_size 100M;

Nginx 버전 번호 숨기기

server_tokens off;
Server 블록
6

기본 Server 블록 구성

server {
    listen 80;
    server_name example.com;
    root /var/www/html;
    index index.html;
}

여러 도메인 구성

server_name example.com www.example.com;

와일드카드 도메인 구성

server_name *.example.com;

기본 서버 설정

listen 80 default_server;

IPv6 주소 감시

listen [::]:80;

루트 디렉토리 또는 별칭 설정

root /var/www/html;
# 또는 alias 사용
alias /var/www/files/;
Location 매칭
7

정확한 경로 매칭

location = /path {
    # 정확한 매칭
}

접두사 매칭 경로

location /api/ {
    # 접두사 매칭
}

정규 표현식 매칭

location ~ \.php$ {
    # 정규 표현식 매칭 (대소문자 구분)
}

대소문자 구분 없는 정규 표현식 매칭

location ~* \.\(jpg|jpeg|png|gif\)$ {
    # 정규 표현식 매칭 (대소문자 구분 없음)
}

우선 접두사 매칭 (정규 표현식보다 우선)

location ^~ /images/ {\n    # 우선 접두사 매칭\n}

파일 시도 순서 (SPA 애플리케이션에서 자주 사용)

location / {\n    try_files $uri $uri/ /index.html;\n}

내부 요청만 허용

location /internal/ {\n    internal;\n}
역방향 프록시
7

기본 역방향 프록시 구성

location /api/ {\n    proxy_pass http://backend:3000/;\n}

프록시 요청 헤더 설정

proxy_set_header Host $host;\nproxy_set_header X-Real-IP $remote_addr;\nproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\nproxy_set_header X-Forwarded-Proto $scheme;

WebSocket 프록시 구성

location /ws/ {\n    proxy_pass http://backend:3000/;\n    proxy_http_version 1.1;\n    proxy_set_header Upgrade $http_upgrade;\n    proxy_set_header Connection "upgrade";\n}

상류 서버 그룹 정의

upstream backend {\n    server 127.0.0.1:3000;\n    server 127.0.0.1:3001;\n    keepalive 32;\n}

로드 밸런싱 구성

upstream backend {\n    least_conn;  # 또는 ip_hash;\n    server 127.0.0.1:3000;\n    server 127.0.0.1:3001;\n}

프록시 타임아웃 설정

proxy_connect_timeout 60s;\nproxy_send_timeout 60s;\nproxy_read_timeout 60s;

프록시 버퍼 구성

proxy_buffering on;\nproxy_buffer_size 4k;\nproxy_buffers 8 4k;
SSL/HTTPS
7

기본 SSL 구성

server {\n    listen 443 ssl http2;\n    ssl_certificate /path/to/cert.pem;\n    ssl_certificate_key /path/to/key.pem;\n}

SSL 프로토콜 버전 설정

ssl_protocols TLSv1.2 TLSv1.3;

암호화 키 설정

ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;\nssl_prefer_server_ciphers on;

SSL 세션 캐시

ssl_session_cache shared:SSL:10m;\nssl_session_timeout 1d;

HTTP를 HTTPS로 리디렉션

server {\n    listen 80;\n    server_name example.com;\n    return 301 https://$server_name$request_uri;\n}

HSTS 활성화

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

OCSP Stapling 활성화

ssl_stapling on;\nssl_stapling_verify on;\nresolver 8.8.8.8 8.8.4.4 valid=300s;
캐시 구성
5

정적 리소스 캐시

location ~* \.\(css|js|jpg|jpeg|png|gif|ico|svg|woff|woff2\)$ {\n    expires 30d;\n    add_header Cache-Control "public, immutable";\n}

캐시 비활성화

location /api/ {\n    add_header Cache-Control "no-store, no-cache, must-revalidate";\n}

프록시 캐시 구성

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g;\n\nlocation / {\n    proxy_cache my_cache;\n    proxy_cache_valid 200 1d;\n}

ETag 활성화

etag on;

조건부 요청 활성화

if_modified_since before;
Gzip 압축
4

기본 Gzip 압축 구성

gzip on;\ngzip_vary on;\ngzip_min_length 1024;\ngzip_comp_level 6;

압축할 MIME 유형 설정

gzip_types text/plain text/css text/xml text/javascript application/javascript application/json application/xml;

프록시 요청에 압축 활성화

gzip_proxied any;

예측 압축 파일 활성화

gzip_static on;
보안 구성
6

CORS 크로스 도메인 구성

add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
add_header Access-Control-Allow-Headers "DNT,User-Agent,X-Requested-With,Content-Type";

XSS 및 클릭 재난 방지

add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options SAMEORIGIN;

콘텐츠 보안 정책

add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'";

요청 속도 제한

limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;

location /api/ {
    limit_req zone=one burst=20 nodelay;
}

숨김 파일 접근 금지

location ~ /\. {
    deny all;
}

IP 화이트리스트

location /admin/ {
    allow 192.168.1.0/24;
    deny all;
}
로그 구성
6

접근 로그 구성

access_log /var/log/nginx/access.log;

오류 로그 구성

error_log /var/log/nginx/error.log warn;

사용자 정의 로그 형식

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                '$status $body_bytes_sent "$http_referer" '
                '"$http_user_agent" "$http_x_forwarded_for"';

JSON 형식 로그

log_format json escape=json '{"time":"$time_iso8601","ip":"$remote_addr","method":"$request_method","uri":"$uri","status":$status}';

접근 로그 비활성화

access_log off;

조건 로그(오류만 기록)

map $status $loggable {
    ~^[23] 0;
    default 1;
}
access_log /var/log/nginx/access.log combined if=$loggable;
성능 최적화
5

파일 디스크립터 캐시

open_file_cache max=1000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;

다중 연결 수락 및 epoll 활성화

events {
    multi_accept on;
    use epoll;
}

FastCGI 캐시

fastcgi_cache_path /var/cache/nginx/fastcgi levels=1:2 keys_zone=fastcgi:10m;

location ~ \.php$ {
    fastcgi_cache fastcgi;
    fastcgi_cache_valid 200 1h;
}

연결 수 제한

limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 100;

타임아웃 최적화

client_body_timeout 12;
client_header_timeout 12;
send_timeout 10;

📖도구 소개

Nginx 구성 빠른 참조는 웹 개발자와 운영 담당자를 위해 설계된 Nginx 구성 빠른 참조 도구입니다. 기본 구성부터 고급 최적화까지 모든 일반적인 구성 조각을 포함하며, 기능별로 분류되어 있으며, 빠른 검색과 한 번의 클릭으로 복사가 가능합니다. Nginx 초보자이든 경험 많은 운영 엔지니어이든 필요한 구성 코드를 빠르게 찾을 수 있습니다.

주요 특징

1
10개의 주요 분류로 Nginx의 모든 일반적인 구성 시나리오를 포함
2
60개 이상의 일반적인 구성 조각을 기본부터 고급까지 완전히 수록
3
키워드 검색 지원으로 필요한 구성 빠르게 찾기
4
한 번의 클릭으로 구성 코드 복사하여 작업 효율 향상
5
명확한 중국어 설명으로 이해하고 학습하기 쉬움
6
분류별 브라우징 및 필터링을 통해 관련 구성 빠르게 찾기
7
반응형 디자인으로 모바일 보기 지원
8
로컬에서 실행 가능하여 인터넷 없이도 사용 가능

자주 묻는 질문

🔗관련 도구

크론 표현식 해석기

크론 구문을 검증하고 다가올 실행 시간을 미리 확인합니다.

개발자 도구
지금 바로 사용하기

JSON을 CSV로 변환

JSON 데이터를 CSV 형식으로 변환

변환기
지금 바로 사용하기

JSON을 YAML로

JSON 데이터를 YAML 형식으로 변환하기

변환기
지금 바로 사용하기

JSON→XML 변환기

JSON 데이터를 XML 형식으로 변환합니다.

변환기
지금 바로 사용하기

YAML을 JSON으로

YAML 구성을 JSON 형식 데이터로 변환합니다.

변환기
지금 바로 사용하기

JSON 포맷터

JSON 데이터를 형식화하고, 검증하며 압축합니다.

JSON 유틸리티 도구
지금 바로 사용하기

JSON 시각화

트리 구조로 JSON 데이터 표시

JSON 유틸리티 도구
지금 바로 사용하기

JSON 데이터 생성기

테스트용 모의 JSON 데이터 생성

JSON 유틸리티 도구
지금 바로 사용하기

i18n JSON 번역기

JSON 언어 파일을 한 번에 번역합니다. 기본 내용을 붙여넣고 대상 언어를 선택하면, 도구가 평탄화된 키를 사용하여 OpenRouter API를 호출합니다.

JSON 유틸리티 도구
지금 바로 사용하기

JSON 차이 비교

두 JSON 데이터의 차이 비교

JSON 유틸리티 도구
지금 바로 사용하기

QR 코드 생성기

사용자 정의 QR 코드 이미지를 생성합니다.

이미지 도구
지금 바로 사용하기

SVG 플레이스홀더 이미지 생성기

사용자 정의 SVG 플레이스홀더 이미지 생성

이미지 도구
지금 바로 사용하기

Base64 이미지 변환기

이미지와 Base64 인코딩 간 상호 변환 도구

이미지 도구
지금 바로 사용하기

UUID 생성기

대량으로 UUID 고유 식별자 생성

생성 도구
지금 바로 사용하기

비밀번호 생성기

안전하고 신뢰할 수 있는 무작위 비밀번호를 생성합니다.

생성 도구
지금 바로 사용하기

Base64 인코딩/디코딩

Base64 문자열 인코딩 및 디코딩 도구

텍스트 도구
지금 바로 사용하기

URL 인코딩/디코딩

URL 문자열 인코딩 및 디코딩 도구

텍스트 도구
지금 바로 사용하기

MD5 해시 생성기

MD5 해시 값을 생성하는 도구

암호화 도구
지금 바로 사용하기

SHA256 해시 생성기

SHA256 해시 값을 생성하는 도구

암호화 도구
지금 바로 사용하기

SHA1 해시 생성기

SHA1 해시 값을 생성하는 도구

암호화 도구
지금 바로 사용하기

16진수 인코더/디코더

16진수 문자열 인코딩/디코딩 도구

암호화 도구
지금 바로 사용하기

이진 인코더/디코더

이진 문자열 인코딩/디코딩 도구

암호화 도구
지금 바로 사용하기

AES 암호화/복호기

AES 대칭 암호화 알고리즘 암호화/복호 도구

암호화 도구
지금 바로 사용하기

RSA 암호화/복호화 도구

RSA 비대칭 암호 알고리즘 도구

암호화 도구
지금 바로 사용하기

HMAC 생성기

HMAC 메시지 인증 코드 생성 도구

암호화 도구
지금 바로 사용하기

IP 주소 조회

IP 주소의 지리적 위치와 네트워크 정보를 조회합니다.

네트워크 도구
지금 바로 사용하기

밀리초 시간 변환기

밀리초 타임스탬프와 yyyy-MM-dd HH:mm:ss 문자열 사이를 변환합니다.

시간 도구
지금 바로 사용하기
현재 27개 도구 표시, 총 28개 사용 가능
    Nginx 구성 요약 - 일반적인 구성 빠른 참조 - IT Tools Collection