English |
  • 美国VPS主机推荐
  • |
  • 代购服务
  • |
  • 10美元以下VPS
  • |
  • VPS新手指南/教程
  • |
  • 留言板
  • |
  • 关于
  • | 登录 |

    LNMP(Nginx)下http/2 安装配置教程

    2017年02月12日 上午 | 作者:VPS侦探


    在过去的2015、2016年里Let's Encrypt成立并迅速发展,很多站点都在使用Let's Encrypt或其他SSL证书部署https站点,说到https时我们也会提到HTTP/2,HTTP/2是啥,能不能吃、有啥好处我们就不废话了,下面我们就对HTTP/2在LNMP(Nginx)环境下的安装配置。

    说http/2之前我们要说一下http/2在浏览器下的支持情况:Chrome 41+、Firefox 36+、Safari 9+、Windows 10的 IE 11 和 Edge,Chrome 51+必须要开启ALPN才能支持HTTP2,又因为OpenSSL 1.0.2+才有ALPN支持,且又因为OpenSSL 1.0.2+普及较少,目前只有Ubuntu 16.04+、Fedora 24+是OpenSSL 1.0.2版本,其他CentOS、Debian全部及低于前面Ubuntu和Fedora版本的系统都是低于1.0.2,也就是不支持ALPN的,所有在Chrome 51+上是不会是HTTP/2访问的,要想更好的让个浏览器兼容就需要开启ALPN,也就需要让nginx使用OpenSSL 1.0.2+编译。

    LNMP一键安装包默认是支持并编译安装了http2了的,1.3及之前的版本并未使用OpenSSL 1.0.2,最简单的方法就是下载lnmp 1.4或更高版本的lnmp安装包,运行Nginx升级脚本就是使用新版的OpenSSL 1.0.2进行编译安装的:

    wget http://soft.vpser.net/lnmp/lnmp1.4beta.tar.gz && tar zxf lnmp1.4beta.tar.gz && cd lnmp1.4 && ./upgrade.sh nginx

    按提示输入nginx的版本号,不想换版本号之间写当前的版本号就可以,如果是Nginx版本低于1.9.5也是不支持http/2的。

    如果你用的是其他环境可以自己去 https://www.openssl.org/source/ 下载openssl 1.0.2版本的源码,在nginx编译时加上--with-openssl=openssl解压后的源码目录。

    另外Nginx虚拟主机配置文件listen里必须要有http2

    配置文件参考:https://www.vpser.net/build/letsencrypt-free-ssl.html ,如果是lnmp 1.4的用户也可以直接使用命令 lnmp vhost add (未添加过该域名)或 lnmp ssl add (添加过该该域名的http站点)添加虚拟主机提示"Add SSL Certificate (y/n)" 输入y 按提示添加SSL证书或使用Letsencrypt自动生成证书。

    安装设置好后怎么查看网站是否已经启用了http/2呢?

    Chrome地址栏输入:chrome://net-internals/  点击左侧"HTTP/2"选项,"Protocol Negotiated"栏后显示h2 就是当前使用的http/2协议。
    Firefox需要安装第三方组件,如:HTTP/2 and SPDY indicator,地址栏后带闪电就是http/2。

    另外需要注意的是网站内的所有资源连接必须是https://的或// 自动识别的,要不然不会显示绿锁。

    有问题可以本文留言或论坛反馈

    VPS论坛邀请码:56a274b988V5QmeA 有效期至:2017-2-17 09:10

    >>转载请注明出处:VPS侦探 本文链接地址:https://www.vpser.net/build/lnmp-nginx-http2.html
    VPS侦探推荐:
    遨游主机VultrLinode搬瓦工LOCVPSKVMLAHOSTKVMHostXen80VPS美国VPS主机,国内推荐腾讯云阿里云
    欢迎加入VPS侦探论坛交流:https://bbs.vpser.net

    发表评论

    *必填

    *必填 (不会被公开)

    评论(一条评论)

    1. iboy说道:

      以升级到http2,虽然没啥感觉,还是有股莫名的兴奋