diff --git a/README.md b/README.md index 9021628..2b0a13c 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,33 @@ # nginx-quic -auto.sh 스크립트를 아직 수정하지 않았습니다. +## 아직 베타 버전입니다. 아래 내용을 제외한 내용은 아직 수정되지 않았습니다. + +1. ~~auto.sh 스크립트를 아직 수정하지 않았습니다.~~ + - 현재 ARM 기반의 CPU 및 Ubuntu 에서 일부 테스트가 완료 되었습니다. +2. CentOS / RedHat 기반은 테스트 하지 않았습니다. +3. 최적화 코드의 극히 일부분만 수정되었습니다. +4. auto.sh 에 대한 테스트를 제대로 테스트 하지 않았습니다. + +## 추가 내용 + +1. ocsp file staping 지원 (ssl_stapling on [http] 및 ssl_stapling_file [server] 사용 필요) +2. Server Header 지원 (config.inc 수정) +3. SSL 설정의 일부 변경 (ciphers, prefer, session_timeout, ...) +4. Cloudflare HPACK Patch 적용 + +## 미지원 + +1. Hybrid 인증서 미지원 (현재 BoringSSL 기능상 지원하지 않음) +2. OLD CHACHA20-POLY1305 미지원 (더 이상 쓸 일이 없음) +3. strict_sni 기능은 nginx 자체 기능에서 지원되므로 추가 지원 X + - listen ssl 에 default_server 서버를 하나 만든 뒤에 ssl_reject_handshake on; 을 추가하세요. + - http 에 추가 할 경우 TLS 오류가 발생할 수 있습니다. + - strict_sni 처럼 http 안에서는 사용할 수 없습니다. +4. OCSP Stapling 은 제대로 지원 되지 않을 수 있음. +5. 기타 여러가지 버그가 아직 많을 수 있음......... + +## Debian/Ubuntu 기반 + +``apt install libjemalloc-dev uuid-dev libatomic1 libatomic-ops-dev expat unzip autoconf automake libtool libgd-dev libmaxminddb-dev libxslt1-dev libxml2-dev g++ curl golang libunwind-dev ninja-build cmake`` + +``ARM 기반일 경우 cloudflare 의 zlib 이 호환되지 않으므로, BITCHK 를 강제로 32 로 조정해야 합니다.`` diff --git a/auto.sh b/auto.sh index cf3c9ec..93f24f3 100755 --- a/auto.sh +++ b/auto.sh @@ -27,7 +27,11 @@ rm -f ${NGX_SBIN_PATH}.old ### Multithread build BUILD_MTS="-j$(expr $(nproc) \+ 1)" -git submodule update --init --recursive +git submodule update --init --recursive --force + +### BoringSSL Build...... +cd lib/boringssl && mkdir -p build && cd build && \ +cmake -GNinja .. && ninja && cd ../../../ ### PCRE reconf if [ ! -f "lib/pcre/configure" ]; then @@ -102,9 +106,8 @@ if [ "$GEOIP2" = 1 ]; then BUILD_MODULES="${BUILD_MODULES} --add-module=./lib/ng if [ "$VTS" = 1 ]; then BUILD_MODULES="${BUILD_MODULES} --add-module=./lib/nginx-module-vts"; fi auto/configure \ ---with-cc-opt="-Wno-stringop-truncation -DTCP_FASTOPEN=23 ${BUILD_BIT}${BUILD_LTO} ${TEMP_OPT} -g -O3 -march=native -fstack-protector-strong -fuse-ld=gold -fuse-linker-plugin --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wno-strict-aliasing -Wp,-D_FORTIFY_SOURCE=2 -gsplit-dwarf -DNGX_HTTP_HEADERS" \ ---with-ld-opt="${BUILD_LD} ${BUILD_LTO}" \ ---with-openssl-opt="no-cmp enable-weak-ssl-ciphers no-ssl3-method -march=native -ljemalloc ${BUILD_OPENSSL_LTO}" \ +--with-cc-opt="-Wno-stringop-truncation -DTCP_FASTOPEN=23 ${BUILD_BIT}${BUILD_LTO} ${TEMP_OPT} -g -O3 -march=native -fstack-protector-strong -fuse-ld=gold -fuse-linker-plugin --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wno-strict-aliasing -Wp,-D_FORTIFY_SOURCE=2 -gsplit-dwarf -I./lib/boringssl/include -DNGX_HTTP_HEADERS" \ +--with-ld-opt="${BUILD_LD} ${BUILD_LTO} -L./lib/boringssl/build/ssl -L./lib/boringssl/build/crypto" \ --builddir=objs --prefix=${NGX_PREFIX} \ --conf-path=${NGX_CONF} \ --pid-path=${NGX_PID} \ @@ -120,7 +123,6 @@ auto/configure \ --with-pcre=./lib/pcre \ --with-pcre-jit \ --with-zlib=${BUILD_ZLIB} \ ---with-openssl=./lib/openssl \ --with-http_realip_module \ --with-http_addition_module \ --with-http_sub_module \ @@ -146,6 +148,7 @@ auto/configure \ --with-mail_ssl_module \ --with-http_v2_module \ --with-http_v2_hpack_enc \ +--with-http_v3_module \ --with-stream_ssl_module \ --with-stream_realip_module \ --with-stream_ssl_preread_module \ diff --git a/lib/pcre b/lib/pcre index db53e40..b73b334 160000 --- a/lib/pcre +++ b/lib/pcre @@ -1 +1 @@ -Subproject commit db53e4007db5e1fcfa144ddf10d0499a111a770b +Subproject commit b73b3347673358795e86a99acad56d81c2e4fecd