nginx에서 http/3를 지원하는 방법은 별도의 binary 로 설치하거나 컴파일 해야 한다. 그리고 BoringSSL, QuicTLS, Libressl을 이용해야 한다.
그런데 라즈레리파이용 binary는 없었다. 그래서 컴파일 하는 방법으로 시도해 보기로 했다. BoringSSL은 무엇인가 오류가 발생해서 nginx 컴파일에서 오류가 생긴다. Libressl도 마찬가지.
QuicTLS를 이용해서 설치해 보았다. QuicTLS은 git으로 설치한다. 혼란을 막기 위해서 openssl 폴더를 quictls 로 변경한다. ./Configure 로 설치해야 한다.
git clone https://github.com/quictls/openssl
mv openssl quictls
cd quictls
./Configure
make
make install
nginx 소스를 받아서 압축을 풀고 폴더로 이동한다.
기본 설정을 그대로 유지하려면 다음과 같이 컴파일 한다. 그리고 make, make install 로 설치한다.
./configure \
--with-debug \
--prefix=/usr/share/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/run/nginx.pid \
--lock-path=/run/lock/subsys/nginx \
--user=www-data \
--group=www-data \
--with-threads \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_v3_module \
--with-cc-opt="-I../quictls/build/include" \
--with-ld-opt="-L../quictls/build/lib"