-- Hakase-nginx is DEPRECATED!! (DON'T USE THIS) -- Hakase-nginx (x86/x64) -- Made by Hakase (hakase@hakase.io) -- https://nginx.hakase.app/ -- 기본 빌드: OpenSSL 3.0.0-dev, pcre-8.42 (jit), zlib 1.2.11, brotli, geoip, rtmp(http-flv), fancyindex, more-header -- 추가 빌드: http2, TLS 1.3 (final 버전), equal preference 패치, 기타 등등 -- nginx 설정 파일은 nginx 공식 홈페이지의 기본 파일을 압축 한 것임. -- SSL 설정 중 다음 설정은 기본값을 사용 중이므로 설정하지 않아도 됨. - ssl_protocols : TLSv1 TLSv1.1 TLSv1.2 TLSv1.3 - ssl_prefer_server_ciphers : on - ssl_ecdh_curve : X25519:P-256:P-384:P-224:P-521 - ssl_ciphers : [TLS13+AESGCM+AES128|TLS13+AESGCM+AES256|TLS13+CHACHA20]:[EECDH+ECDSA+AESGCM+AES128|EECDH+ECDSA+CHACHA20]:EECDH+ECDSA+AESGCM+AES256:EECDH+ECDSA+AES128+SHA:EECDH+ECDSA+AES256+SHA:[EECDH+aRSA+AESGCM+AES128|EECDH+aRSA+CHACHA20]:EECDH+aRSA+AESGCM+AES256:EECDH+aRSA+AES128+SHA:EECDH+aRSA+AES256+SHA:RSA+AES128+SHA:RSA+AES256+SHA:RSA+3DES nginx/1.15.10 (2019-03-17) * pcre jit 이 활성화되지 않던 문제 수정 nginx/1.15.10 (2019-03-16) * 2019년 3월 16일 까지의 커밋 수정 * OpenSSL 버전을 3.0.0-dev (TLS 1.3 final) 로 변경 * poll event 추가 (select 말고 poll 쓰세요.) * RTMP 모듈을 http-flv 로 변경 * 기본 Server 헤더를 nginx 로 재 변경 (...) nginx/1.15.8 (2018-11-28) * 2018년 11월 28일 까지의 커밋 수정 * 기본 Server 헤더를 hakase 로 재 변경 nginx/1.15.6 (2018-10-09) * 2018년 10월 9일 까지의 커밋 수정 * strict_sni 추가 - http { } 안에서만 사용이 가능합니다. - strict_sni : HTTPS 에서 아이피 접속 시 연결을 끊습니다. 가짜 서버(server { listen 443; ~~~ }) 를 만들거나 서버가 2개 이상이어야 정상적으로 접속이 가능합니다. - strict_sni_header : HTTPS 접속 시 헤더 값이 올바르지 않을 경우 연결을 끊습니다. * TLS 1.3 final (RFC) 지원 * OLD-CHACHA20-POLY1305 지원 * 기본 Server 헤더를 nginx 로 재 변경 nginx/1.15.2 (2018-07-10) * 2018년 7월 10일 까지의 커밋 수정 * OpenSSL 버전을 1.1.1-pre9-dev (TLS 1.3 draft 23 + draft 26 + draft 28) 로 변경 nginx/1.15.0 (2018-06-05) * 2018년 6월 5일 까지의 커밋 수정 * OpenSSL 버전을 1.1.1-pre8-dev (TLS 1.3 draft 23 + draft 28) 로 변경 nginx/1.15.0 (2018-05-28) * 2018년 5월 28일 까지의 커밋 수정 * OpenSSL 버전을 1.1.1-pre7-dev (TLS 1.3 draft 23 + draft 28) 로 변경 nginx/1.15.0 (2018-05-24) * 2018년 5월 24일 까지의 커밋 수정 * OpenSSL 버전을 1.1.1-pre7-dev (TLS 1.3 draft 23 + draft 26~28) 로 변경 - TLS13 Cipher 설정 부분은 제거되고, AES128-CHACHA20-AES256 으로 자동 설정 - 추후 nginx 에서 ssl_ciphers 와 같은 설정을 만들 것으로 예상. - 더 이상 TLSv1 에서만 3DES 적용 등, 일부 추가요소가 적용되지 않음. * TLSv1, TLSv1.1 비활성화 및 기본 Cipher 변경 - 기본 Cipher 설정은 최상단 참조. * EC Named Curves(ssl_ecdh_curve) 설정을 X25519, secp256r1, secp384r1 로 변경 nginx/1.15.0 (2018-04-25) * 2018년 4월 25일 까지의 커밋 수정 * spdy 기능 제거 (더 이상 http2 옆에 spdy 를 넣지 마세요.) * 대부분의 기능 제거 (dav-ext 등등...) - 현재 가능 기능 : brotli, rtmp, headers_more_nginx * OpenSSL 버전을 1.1.1-pre2 (TLS 1.3 draft 23) 로 변경 * EC Named Curves(ssl_ecdh_curve) 설정을 X25519, secp256r1, secp384r1, secp224r1, secp521r1 로 변경 * SSL Cipher Preference 사용 가능 - [EECDH+AES128|EECDH+CHACHA20]:EECDH+AES256:!MD5 와 같은 형식 사용 가능. - [] 안에 들어간 내용은 브라우저의 우선 순위에 따름. nginx/1.13.2 (2017-06-26) * 2017년 6월 26일 까지의 커밋 수정 * ngx_brotli 모듈 추가 * http2_hpack 모듈 추가 (x64 only) nginx/1.13.1 (2017-05-13) * GeoIP.dll 내장 - 더 이상 같은 디렉토리에 GeoIP.dll 을 둘 필요가 없음 * UDP Proxy 기능 추가 * OpenSSL 버전을 1.1.1-dev TLS 1.3-draft18 로 변경 nginx/1.13.1 (2017-05-05) * 2017년 5월 5일 까지의 커밋 수정 * Visual Studio 2015 로 컴파일러 변경 * OpenSSL 버전을 1.1.1-dev TLS 1.3-draft19 로 변경 nginx/1.13.1 (2017-04-29) * 2017년 4월 29일 까지의 커밋 수정 * 40x 오류 등 하단 메세지가 다르게 나오던 부분 수정 * lua 모듈 제거 nginx/1.11.14 Rev 1 * 2017년 4월 6일 까지의 커밋 수정 * TLS 1.3 테스트 시작 * EC Named Curves(ssl_ecdh_curve) 설정을 X25519, secp256r1, secp384r1 로 변경 * SSL 설정 중 다음 설정은 기본값을 사용 중이므로 설정하지 않아도 됨. - ssl_protocols - ssl_prefer_server_ciphers - ssl_ecdh_curve - ssl_ciphers nginx/1.11.13 Rev 2 * 2017년 4월 4일 까지의 커밋 수정 * OpenSSL 1.1.1-dev 로 업데이트 - SSL Cipher 아래와 같이 변경 됨. - EECDH+CHACHA20:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:!MD5 - 3DES 가 제거됨에 따라 완전 삭제. * EC Named Curves(ssl_ecdh_curve) 설정을 X25519, secp384r1 둘 다 사용하도록 변경 nginx/1.11.6 Rev 4 * 2016년 11월 13일 까지의 커밋 수정 * 네이버 링크 관련 이슈 수정 - SSL Cipher 아래와 같이 변경 됨. - EECDH+CHACHA20:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5 nginx/1.11.6 Rev 3 * 2016년 11월 4일 까지의 커밋 수정 nginx/1.11.6 Rev 2 * 2016년 10월 27일 까지의 커밋 수정 * OpenSSL 의 no-asm 삭제 nginx/1.11.6 Rev 1 * 2016년 10월 14일 까지의 커밋 수정 nginx/1.11.5 Rev 1 * 2016년 10월 10일 까지의 커밋 수정 * --with-compat 추가 (1.11.5 버전에서 추가 될 예정. Github 참조) nginx/1.11.4 Rev 2 * 2016년 9월 3일 까지의 커밋 수정 * stream 관련 커밋 수정으로 stream_echo 추가 모듈 임시 제거 nginx/1.11.4 Rev 1 * 2016년 7월 29일 까지의 커밋 수정 * OpenSSL Heartbeats off 로 변경 nginx/1.11.3 Rev 2 * 2016년 7월 24일 까지의 커밋 수정 nginx/1.11.3 Rev 1 * 2016년 7월 7일 까지의 커밋 수정 * SSL 최적화 * OpenSSL 기본 설정 중 Heartbeats extension 원상복귀 * 예전에 제거했던 spdy/3.1 재 추가 nginx/1.9.14 Rev 2 * 2016년 4월 5일 까지의 커밋 수정 * SSL 기본 설정 중 ssl_prefer_server_ciphers 설정이 누락 된 부분 수정 * OPENSSL 의 HeartBeats extension Off 처리 nginx/1.9.14 Rev 1 * 2016년 4월 1일 까지의 커밋 수정 * SSL 적용 시 모바일 크롬에서만 CHACHA20_POLY1305 를 적용 - 모바일 크롬 이외의 브라우저는 AES_128 이 기본 * LibreSSL 2.3.2 -> OpenSSL 1.0.2h-dev 로 변경 - 일부 빌드 오류 등으로 인하여 OpenSSL 로 수정 nginx/1.9.13 Rev 1 * 2016년 2월 28일 까지의 커밋 수정 nginx/1.9.12 Rev 3 * server_tokens on/off 시 기본 헤더를 아래와 같이 변경 (Rev 3 기준) - on : Hakase-nginx/1.9.12 Rev 3 - off : Hakase-nginx - 기존 설정은 off 기준으로만 설정 되어있음. * HTTP/2 부분 오류 수정 * UPX 패킹 제외 - 메모리 용량을 더 많이 먹기 때문에 앞으로 UPX 로 압축하지 않음 - 용량을 줄이고 싶다면 직접 UPX 로 압축 가능. nginx/1.9.12 Rev 2 * SSL 기본 설정 (Cipher) 수정 - 일부 필요없는 Cipher 제거 및 간단하게 편집 * 현재(2016-02-13)까지의 커밋 수정 * spdy/3.1 제거 (일부 오류로 인하여 문제가 수정 될 때까지 사용하지 않음) nginx/1.9.12 Rev 1 * SSL 기본 설정 (cipher) 수정 - 더 이상 ssl_protocols / ssl_ciphers / ssl_prefer_server_ciphers / ssl_ecdh_curve 는 수정하거나 추가하지 않아도 됨. * Server Header 수정 - Server Header 기본값은 Hakase-nginx 이지만 수정 가능 - more_set_headers 추가 모듈로 수정하기 -> more_set_headers 'Server: nginx'; * SSL v2/v3 사용 불가능 (제거) - 기본 설정을 하면 기본적으로 사용되지 않음. * use ioev 관련 오류 안 보이도록 수정 (NGXMP 19.0 사용자) - 기능은 작동하지 않지만 문제는 없도록 수정 ---- 아직 Version Bump 되지 않은 버전(nginx 공식 버전은 현재 기준 1.9.11) 이므로 버전은 변경될 수 있음. nginx/1.9.11 Rev 3 * OpenSSL 1.0.2f -> LibreSSL 2.3.2 교체 nginx/1.9.11 Rev 2 * nginx_lua 모듈 추가 nginx/1.9.11 Rev 1 * geoip 추가