diff --git a/README.ko.md b/README.ko.md new file mode 100644 index 0000000..3155245 --- /dev/null +++ b/README.ko.md @@ -0,0 +1,53 @@ +# Hakase-nginx +**My nginx build files.** + +example Web Server - [https://ssl.hakase.io/](https://ssl.hakase.io/) + +## 아래의 필수 라이브러리를 설치해주세요. +- CentOS / Red Hat - `yum install jemalloc-devel libuuid-devel libatomic libatomic_ops-devel expat-devel unzip autoconf automake libtool gd-devel libmaxminddb-devel gcc-c++ curl` +- Ubuntu / Debian - `apt install libjemalloc-dev uuid-dev libatomic1 libatomic-ops-dev expat unzip autoconf automake libtool libgd-dev libmaxminddb-dev g++ curl` + +## 설치 방법 +1. 이 명령어를 이용하여 다운로드 합니다. - `git clone https://github.com/hakasenyang/nginx-build.git --recursive` +2. 필수 라이브러리를 설치합니다. (이미 설치했다면 무시합니다.) +3. config.inc 를 수정합니다. (SERVER_HEADER, Modules, 기타.) + - 처음 소스를 다운로드 받았다면 아래 명령어를 입력하여 먼저 복사한 뒤 편집합니다. + - `cp config.inc.example config.inc` +4. `sudo ./auto.sh` 를 실행합니다. +5. [systemd 파일](https://www.nginx.com/resources/wiki/start/topics/examples/systemd/)을 설치합니다. (이미 설치했다면 무시합니다.) +6. 버전 및 오류를 테스트합니다. : `nginx -v; nginx -t;` +7. `systemctl restart nginx` 를 실행합니다. +8. **끝!!** + +## 기능 목록 +- SSL Cipher 자동 설정 + - **아래 내용은 자동으로 설정됩니다. 따라서, 필요하지 않는 한 해당 설정은 nginx.conf 내에서 설정하지 마십시오.** + - ssl_protocols : TLSv1 TLSv1.1 TLSv1.2 TLSv1.3 + - 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 + - ssl_prefer_server_ciphers : On + - ssl_ecdh_curve : X25519:P-256:P-384:P-224:P-521 + - **ssl_dhparam** 는 사용하지 마십시오. 필요 없습니다. +- TLS v1.3 (draft 23, 26, 28, **final**) + - OpenSSL-1.1.2-dev 사용. (**draft 23, 26, 28, final**) + - OpenSSL equal preference patch 사용 ([BoringSSL](https://github.com/google/boringssl) & [buik](https://gitlab.com/buik/openssl/blob/openssl-patch/openssl-1.1)) + - 제 OpenSSL Patch 파일은 [여기](https://github.com/hakasenyang/openssl-patch)에 있습니다. +- AES-NI (AES 하드웨어 가속) 이 없는 환경에서는 CHACHA20 Cipher 가 우선으로 적용됩니다. (구 기기 안드로이드 등) +- 여러 추가모듈들. + - headers_more_nginx_module + - Google PageSpeed for nginx + - 그 외 여러가지 +- HPACK, SSL Dynamic TLS Records 지원. (Thanks to cloudflare!) +- SSL Strict-SNI (예: http { strict_sni on; } ) (Thanks to [@JemmyLoveJenny](https://github.com/hakasenyang/openssl-patch/issues/1#issuecomment-421551872)) + - Strict SNI 는 두 개 이상의 server 설정을 필요로 합니다. (server { listen 443 ssl }). + - 인증서는 중복으로 설정해도 상관 없습니다. + - "strict_sni_header on" 을 사용하면 잘못 된 헤더에 대한 응답을 하지 않습니다. (strict_sni 와 같이 사용해야만 적용됩니다.) +- GeoIP2 Module - [Issues #2](https://github.com/hakasenyang/nginx-build/issues/2) + - [여기](https://github.com/leev/ngx_http_geoip2_module)서 GeoIP2 에 대한 설정 예시를 참고하십시오. + +## 차후 추가 될 기능 +- apt, yum 설치. (rpm, deb, etc.) +- 기타. + +## 더 이상 사용하지 않는 기능 +- SPDY (이 버전에서는 지원되지 않음.) +- GeoIP (GeoIP2 로 변경.) diff --git a/README.md b/README.md index 6e2db9c..9c13c68 100644 --- a/README.md +++ b/README.md @@ -37,12 +37,12 @@ Example Web Server - [https://ssl.hakase.io/](https://ssl.hakase.io/) - headers_more_nginx_module - Google PageSpeed for nginx - and the other. -- HPACK, SSL Dynamic TLS Records Support. (Thanks to cloudflare!) +- Support HPACK, SSL Dynamic TLS Records. (Thanks to cloudflare!) - SSL Strict-SNI (ex: http { strict_sni on; } ) (Thanks to [@JemmyLoveJenny](https://github.com/hakasenyang/openssl-patch/issues/1#issuecomment-421551872)) - Strict SNI requires at least two ssl server settings (server { listen 443 ssl }). - It does not matter what kind of certificate or duplicate. - Use "strict_sni_header on" if you do not want to respond to invalid headers. (only with strict_sni) -- GeoIP2 Module [#2](https://github.com/hakasenyang/nginx-build/issues/2) +- GeoIP2 Module - [Issues #2](https://github.com/hakasenyang/nginx-build/issues/2) - [Check the following page](https://github.com/leev/ngx_http_geoip2_module) for GeoIP2 settings method. ## Upcoming Features