HTTP/3 nginx

QUIC을 사용할 수 있도록 nginx 를 컴파일 했으면 실제로 이용할 수 있도록 설정한다.

QUIC은 TCP와 UDP를 사용한다. 방화벽에서 UDP 부분도 추가한다.

server {
   server_name www.welovedoctor.com;
   listen 443 quic reuseport;
   listen 443 ssl; 
   http2 on;
   ssl_certificate ../fullchain.pem;
   ssl_certificate_key ../privkey.pem;
   include /etc/letsencrypt/options-ssl-nginx.conf;
   ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

   add_header Alt-Svc 'h3=":$server_port"; ma=86400';
   add_header X-protocol $server_protocol always;
}
  • QUIC reuseport 를 지정한다.
  • 이전 버전에서는 listen 443 ssl http2 로 설정했는데, 버전이 바뀌면서 분리하도록 권고하고 있다고 한다.
  • HTTP/3를 이용하고 있다고 헤더를 추가한다. server 블록에 넣어도 되고, location 블록에 넣어도 된다.

HTTP/3가 제대로 설정되어 있는지 확인하는 곳은 위와 같다.

실제로도 확인할 수 있다.