#教程# Nginx – 支持HTTP/2和LTS 1.3的CONF设置

前言

HTTP/2简单来说,使用它可以优化我们的应用.HTTP/2 的首要目标是通过完全的请求,响应多路复用,头部的压缩头部域来减小头部的体积,添加了请求优先级,服务端推送.为了支持这些特性,他需要大量的协议增加头部字段来支持。

图片[1] - #教程# Nginx – 支持HTTP/2和LTS 1.3的CONF设置 - 云线路

TLS 1.3 的握手不再支持静态的 RSA 密钥交换,这意味着必须使用带有前向安全的 Diffie-Hellman 进行全面握手。从上图可以看出,使用 TLS 1.3 协议只需要一次往返( 1-RTT )就可以完成握手。相比 TLS 1.2,TLS 1.3 的握手时间减半。这意味着访问一个移动端网站,使用 TLS 1.3 协议,可能会减少将近 100ms 的时间。

图片[2] - #教程# Nginx – 支持HTTP/2和LTS 1.3的CONF设置 - 云线路

设置方法

很多同学在问 Nginx 怎么设置支持 HTTP/2 和LTS 1.3,这里我给出本站的 xxx.conf 配置文件分享给大家:

server
    {      
    listen 443 ssl http2;
    server_name www.yunloc.com;
    index index.html index.htm index.php default.html default.htm default.php;
    root  /home/wwwroot/yunloc.com;
 
	ssl_certificate /usr/local/nginx/conf/ssl/www.yunloc.com.crt;
	ssl_certificate_key /usr/local/nginx/conf/ssl/www.yunloc.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
        ssl_session_cache builtin:1000 shared:SSL:10m;
	ssl_early_data on;
	proxy_set_header Early-Data $ssl_early_data;
 
    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
    add_header X-Frame-Options SAMEORIGIN;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    }
图片[3] - #教程# Nginx – 支持HTTP/2和LTS 1.3的CONF设置 - 云线路

myssl 官网检测

如果显示不支持,请检查所有网站是否都启用 HTTP/2 和LTS 1.3,需要全部站点都设置。

注意事项

配置 Nginx 支持 TLS 1.3 需要注意一点:默认情况下 Nginx 因为安全原因,没有开启 TLS 1.3 0-RTT,可以通过添加 ssl_early_data on; 指令开启 0-RTT。

ssl_early_data on;

另外请添加 Early-Data 头告知后端, 防止重放攻击

proxy_set_header Early-Data $ssl_early_data;

结语

上了 LTS 1.3 后感觉变块了,可能是心理原因吧…哈哈!

© 本站文章随意转载,但请注明出处!
THE END
点赞12 分享
评论 抢沙发
头像
务必使用真实的邮箱地址评论,虚假邮箱的评论将不通过审核及无回复。
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容