Chimon
Chimon
发布于 2023-11-03 / 76 阅读
0
0

配置NGINX让网站支持QUIC&HTTP/3

  • 从 1.25.0 开始,NGINX 已在主线版本正式支持 QUIC+HTTP/3

  • RHEL 7 和 SLES 12 下的二进制版本不支持 HTTP/3,因为该系统的 OpenSSL 不支持 TLS1.3

  • 虽然 OpenSSL 目前不支持 QUIC,但 NGINX 开发了一个兼容层让 OpenSSL 支持 QUIC,不过该方案不支持 0-RTT 特性

  • 可以通过源码编译安装的方式使用其他 TLS 库,比如:BoringSSL、LibreSSL 或者 OpenSSL 的 QUICTLS fork

配置

server {
    listen 443 ssl;
    listen 443 quic reuseport;
    http2 on;
    
    server_name www.example.com;
    
    ssl_protocols TLSv1.3;
    ssl_certificate ssl/www.example.com.crt;
    ssl_certificate_key ssl/www.example.com.key;
    
    location / {
        proxy_pass http://my_backend;
        add_header Alt_Svc 'h3=":443"; ma=86400';
    }
}

目前各个浏览器第一次访问是还是走 TCP 协议使用 HTTP/2 或者 HTTP/1.1 请求您的网站,获取到 Alt-Svc 的头部信息后,才会走 HTTP/3 协议。


评论