# nginx-quic

## 아직 베타 버전입니다. 아래 내용을 제외한 내용은 아직 수정되지 않았습니다.

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, early_data, ...)
4. Cloudflare HPACK Patch 적용
5. SSL Dynamic 적용

## 미지원

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. PageSpeed 쓰지 마세요. 삭제 할 예정입니다.
6. 기타 여러가지 버그가 아직 많을 수 있음.........

## 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 libzstd-dev cmake
```

## RHEL 9

```
dnf install epel-release -y
dnf config-manager --set-enabled crb
dnf install automake cmake ninja-build golang gcc-c++ libtool libunwind-devel libxml2-devel libxslt-devel gd-devel jemalloc-devel libatomic_ops-devel libmaxminddb-devel libzstd-devel
```

