美文网首页
OpenResty 启用 HTTP/2

OpenResty 启用 HTTP/2

作者: awker | 来源:发表于2020-03-03 22:57 被阅读0次

1、http/2 的优势

  • 二进制协议:相比于HTTP 1.x基于文本的解析,HTTP/2将所有的传输信息分割为更小的消息和帧,并对它们采用二进制格式编码。基于二进制可以使协议有更多的扩展性,例如,引入帧来传输数据和指令
  • 内容安全:HTTP/2基于HTTPS,具有安全特性。使用HTTP/2特性可以避免单纯使用HTTPS引起的性能下降问题
  • 多路复用(MultiPlexing):通过该功能,在一条连接上,您的浏览器可以同时发起无数个请求,并且响应可以同时返回。另外,多路复用中支持了流的优先级(Stream dependencies)设置,允许客户端告知服务器最优资源,可以优先传输
  • Header压缩(Header compression):HTTP请求头带有大量信息,而且每次都要重复发送。HTTP/2采用HPACK格式进行压缩传输,通讯双方各自缓存一份头域索引表,相同的消息头只发送索引号,从而提高效率和速度
  • 服务端推送(Server push):同SPDY一样,HTTP/2也具有客户端推送功能。目前,大多数网站已经启用HTTP/2,如淘宝。使用浏览器Chrome登录控制台,您可以查看是否启用HTTP/2

2、开启 http/2 的前提条件

  • Nginx 版本 >= 1.9.5
  • OpenSSL 版本 >= 1.0.2
  • 配置 HTTPS 证书
  • 启用 TLS 1.2 或者更高版本的协议(比如TLS 1.3)

3、openresty 编译时要加上 --with-http_v2_module 参数即可

// 参考编译参数
./configure --prefix=/usr/local/openresty --with-luajit --with-pcre --with-http_iconv_module --with-http_realip_module --with-http_sub_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-http_v2_module

4、站点配置

server {
    listen 443 http2;
    server_name www.foobar.com;
    access_log logs/access.log  main;
    index index.htm index.html;
    ssl on;
    ssl_certificate /usr/local/openresty/nginx/conf/cert/www.foobar.com.pem;
    ssl_certificate_key /usr/local/openresty/nginx/conf/cert/www.foobar.com.key;
    ssl_session_timeout 5m;
    ssl_session_cache shared:SSL:10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;

    location / {
        root /data/foobar/;
    }

}

5、最终效果


参考:

  1. https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-with-http-2-support-on-ubuntu-18-04
  2. https://www.howtoforge.com/how-to-enable-http-2-in-nginx/
  3. https://www.nginx.com/blog/http2-module-nginx/
  4. https://www.nginx.com/blog/http2-theory-and-practice-in-nginx-stable-13/
  5. https://help.aliyun.com/document_detail/59894.html

相关文章

网友评论

      本文标题:OpenResty 启用 HTTP/2

      本文链接:https://www.haomeiwen.com/subject/ebkrlhtx.html