사용자 도구

사이트 도구


nginx:basic_config

nginx 기본 설정

서버 정보 숨기기

* 응답으로 오는 Server 헤더에 nginx 정보가 들어간다. 이를 숨기는 것이 좋다.

  • 버전 번호만 삭제
    // http,server,location 컨텍스트안에서
    server_tokens off;
  • Server 헤더 자체 삭제. 추가 패키지 설치 필요할 수 있음(nginx-extras)
     more_clear_headers Server;
    

timeout

send_timeout 60s; # 요청을 보낸 후 응답을 받기까지 대기 시간. 이 설정상 최소 60초 이내에 응답이 와야한다.

error_page

  • error_page   404          /404.html;
    error_page   502 503 504  /50x.html;
    error_page   403          http://example.com/forbidden.html;
    error_page   404          = @fetch;
    
    # 응답코드 바꿔치기
    error_page 404 =200 /empty.gif;
    error_page 404 =403 /forbidden.gif;

Error Json

error_page 500 /500.json;
location /500.json {
    return 500 '{"error": {"status_code": 500,"status": "Internal Server Error"}}';
}

header/cache expires

  • nginx HttpHeadersModule 헤더 설정을 통한 제어(expire 캐시등)
  • expires epoch; : 캐시 끄기
  • expires max; 31 December 2037 23:59:59 GMT, Cache-Control max-age to 10 years.
  expires       24h;
  expires       modified +24h;
  expires       @15h30m;
  expires       0;
  expires       -1;
  expires       epoch;
  add_header    Cache-Control  private;

real ip

Keep Alive

  • keepalive_timeout 을 통해서 값을 조정한다. 이를 0으로 하면 keepalive가 꺼진다.
    keepalive_timeout 0;
  • keepalive는 성능에 중요한 영향을 끼친다. nginx Performance 참조.
  • Web 성능 향상 에서 Keep Alive 참조

default charset

  • 서빙하는 파일들에 기본 charset 헤더(Content-Type)을 지정하고자 할 때.
# charset_types 에 charset을 자동으로 붙여줄 mime type들 추가. text/html은 지정하지 말 것.
charset_types text/xml text/plain text/css application/javascript application/x-javascript application/rss+xml;
charset UTF-8;

참조문서

nginx/basic_config.txt · 마지막으로 수정됨: 2021/10/19 22:53 저자 kwon37xi