Nginx 치트 시트

Nginx는 웹 서비스, 역방향 프록시, 캐싱, 로드 밸런싱, 미디어 스트리밍 등을 위한 오픈 소스 소프트웨어입니다. 이 게시물에서는 자주 사용하는 몇 가지 Nginx 구성에 대해 언급하겠습니다.

색인


  • Listen To Port
  • Access Logging
  • Domain Name
  • Static Assets
  • Redirect
  • Reverse Proxy
  • Load Balancing
  • SSL


  • 포트 듣기




    server {
      # Standard HTTP Protocol
      listen 80;
    
      # Standard HTTPS Protocol
      listen 443 ssl;
    
      # Listen on 80 using IPv6
      listen [::]:80;
    
      # Listen only on using IPv6
      listen [::]:80 ipv6only=on;
    }
    


    액세스 로깅




    server {
      # Relative or full path to log file
      access_log /path/to/file.log;
    
      # Turn 'on' or 'off'
      access_log on;
    }
    


    도메인 이름




    server {
      # Listen to yourdomain.com
      server_name yourdomain.com;
    
      # Listen to multiple domains
      server_name yourdomain.com www.yourdomain.com;
    
      # Listen to all domains
      server_name *.yourdomain.com;
    
      # Listen to all top-level domains
      server_name yourdomain.*;
    
      # Listen to unspecified Hostnames (Listens to IP address itself)
      server_name "";
    
    }
    


    정적 자산




    server {
      listen 80;
      server_name yourdomain.com;
    
      location / {
              root /path/to/website;
      } 
    }
    


    리디렉션




    server {
      listen 80;
      server_name www.yourdomain.com;
      return 301 http://yourdomain.com$request_uri;
    }
    



    server {
      listen 80;
      server_name www.yourdomain.com;
    
      location /redirect-url {
         return 301 http://otherdomain.com;
      }
    }
    


    리버스 프록시




    server {
      listen 80;
      server_name yourdomain.com;
    
      location / {
         proxy_pass http://0.0.0.0:3000;
         # where 0.0.0.0:3000 is your application server (Ex: node.js) bound on 0.0.0.0 listening on port 3000
      }
    
    }
    


    부하 분산




    upstream node_js {
      server 0.0.0.0:3000;
      server 0.0.0.0:4000;
      server 123.131.121.122;
    }
    
    server {
      listen 80;
      server_name yourdomain.com;
    
      location / {
         proxy_pass http://node_js;
      }
    }
    


    SSL




    server {
      listen 443 ssl;
      server_name yourdomain.com;
    
      ssl on;
    
      ssl_certificate /path/to/cert.pem;
      ssl_certificate_key /path/to/privatekey.pem;
    
      ssl_stapling on;
      ssl_stapling_verify on;
      ssl_trusted_certificate /path/to/fullchain.pem;
    
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
      ssl_connection_timeout 1d;
      ssl_session_cache shared:SSL:50m;
      add_header Strict-Transport-Security max-age=15768000;
    }
    
    # Permanent Redirect for HTTP to HTTPS
    server {
      listen 80;
      server_name yourdomain.com;
      return 301 https://$host$request_uri;
    }
    




    읽어 주셔서 감사합니다



    읽으신 내용이 마음에 드시고 더 보고 싶으시다면 커피나 책으로 응원해주세요 ;)

    좋은 웹페이지 즐겨찾기