摘要:sudo dnf update -ysudo dnf install -y epel-releasesudo dnf install -y git curl wget unzip tar socat firewalldsudo systemctl enable
HTTP/3 使用 UDP 端口 443,以及传统 HTTPS/TCP:
sudo firewall-cmd --add-service=http --permanentsudo firewall-cmd --add-service=https --permanentsudo firewall-cmd --add-port=443/udp --permanentsudo firewall-cmd --reloadRocky 官方仓库暂未提供带 HTTP/3 的 Nginx,因此推荐使用 Nginx 官方源码或预编译包。
Nginx 从 1.25 开始原生支持 HTTP/3,1.28 已稳定。
cat安装完验证版本:
nginx -v# nginx version: nginx/1.28.x(替换为你自己的域名,例如 example.com)
~/.acme.sh/acme.sh --issue -d example.com -d www.example.com --nginx生成的证书路径一般在:
~/.acme.sh/example.com/fullchain.cer~/.acme.sh/example.com/example.com.key~/.acme.sh/acme.sh --install-cert -d example.com \--key-file /etc/nginx/ssl/example.com.key \--fullchain-file /etc/nginx/ssl/example.com.crt \--reloadcmd "systemctl reload nginx"路径:/etc/nginx/conf.d/example.com.conf
server { listen 80; server_name example.com www.example.com; return 301 https://$host$request_uri;}server { listen 443 ssl http2; listen 443 quic reuseport; # 启用HTTP/3 server_name example.com www.example.com; ssl_certificate /etc/nginx/ssl/example.com.crt; ssl_certificate_key /etc/nginx/ssl/example.com.key; ssl_protocols TLSv1.3; ssl_prefer_server_ciphers off; # HTTP/3 关键配置 add_header Alt-Svc 'h3=":443"; ma=86400'; # 通知浏览器支持HTTP/3 add_header QUIC-Status $quic; root /usr/share/nginx/html; index index.html; location / { try_files $uri $uri/ =404; }} listen 443 quic reuseport; 是 HTTP/3 的关键。
Alt-Svc 告诉浏览器可通过 HTTP/3 访问。
若返回 HTTP/3 头部,即表示启用成功。
也可以使用浏览器开发者工具或 https://tools.keycdn.com/http3-test 验证。
acme.sh 会自动在后台续期,你也可以手动启用 systemd 定时任务:
~/.acme.sh/acme.sh --upgrade --auto-upgrade来源:linux运维菜
