解决Nginx配置http2不生效,谷歌浏览器仍然采用http1.1协议问题

昨天一个网友通过QQ联系我,说按照我博客之前分享的http2配置教程不能生效,想请我帮忙看看。

经过测试,使用谷歌浏览器访问他的测试站点,确实没有开启http2,但他的配置和编译参数都正确的,这有点奇怪了。解决Nginx配置http2不生效,谷歌浏览器仍然采用http1.1协议问题

不过昨天太忙就没有继续帮他分析,他只好将服务器账号和密码都留言给了我。今天中午我抽空在他服务器重新编译测试了一把,才发现原来是这么一个梗!

他在编译Nginx之前,使用的是yum安装的openssl,可能是他的yum源太陈旧,或者没配置EPEL导致yum安装的openssl版本过低!而他在编译Nginx的时候并没有使用--with-openssl=DIR的选项来静态编译,所以他编出来的Nginx用的系统低版本的openssl,导致谷歌访问时并不会开启http2!

找了段专业解释如下:

Chrome 在最近的更新中放弃了对 NPN 的支持,如果想要继续在 Chrome 上支持 HTTP/2 ,则需要安装最新 1.0.2 版的 OpenSSL,并且用 1.0.2 的 OpenSSL 重新编译 Nginx。

参考资料:

新版Chrome下滚回HTTP/1.1

Supporting HTTP/2 for Google Chrome Users

所以,解决方法就非常简单了,从openssl官网下载最新源码包,然后新增如下参数重新编译即可:

--with-openssl=源码包解压目录

比如:

当然,我们也可以先更新yum源,比如改用EPEL源,使用 yum update openssl 升级后重新编译。这里我个人建议使用源码静态编译。

重新编译安装后,再利用谷歌浏览器访问如下网址:

测试他的网站已经成功开启http2了:

解决Nginx配置http2不生效,谷歌浏览器仍然采用http1.1协议问题

事后突然想起,其实自己之前折腾网站的时候其实遇到过同样的问题,就因为没有记录导致重复造轮子。所以这次记录分享一下,权当是备忘吧!

您还未添加分享代码,请到主题选项中,添加百度分享代码!

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

刷新评论

目前评论:30   其中:访客  28   博主  2

  1. 憧憬Licoy 2 来自天朝的朋友 谷歌浏览器 Windows 10 四川省 电信

    难怪我之前配置了http2,访问的时候还是http1.1的协议。

  2. 网赚 1 来自天朝的朋友 谷歌浏览器 Windows 7 山东省聊城市 联通

    不错,多谢分享

  3. 励志语录 3 来自天朝的朋友 谷歌浏览器 Windows 7 浙江省杭州市 联通

    签到成功!签到时间:上午10:16:36,每日签到,生活更精彩哦~

  4. 松松软文代发 3 来自天朝的朋友 谷歌浏览器 Windows 10 四川省乐山市 移动

    感谢博主的分享

  5. 购物街 2 来自天朝的朋友 谷歌浏览器 Windows 7 福建省泉州市 电信

    谢谢分享

  6. 任务易 2 来自天朝的朋友 搜狗浏览器 Windows 7 湖北省 电信

    沙发~+1

  7. LOL代练 0 来自天朝的朋友 谷歌浏览器 Windows 10 湖北省武汉市 电信

    空间不知道支持不支持

  8. aunsen 4 Canada 火狐浏览器 Windows 10 加拿大

    张戈有没有win主机推荐的,最近有个asp.net的站要上线

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

      基本没有用过win的。。不好推荐。。

  9. 王贱贱 0 来自天朝的朋友 火狐浏览器 Windows 7 湖北省武汉市 电信

    膜拜技术帝

  10. 返嗨啦返利网 3 来自天朝的朋友 谷歌浏览器 Windows 10 重庆市 电信

    博主这里都是分享干货啊

  11. 松松软文代发 3 来自天朝的朋友 谷歌浏览器 Windows 10 四川省乐山市 移动

    没有用过

  12. themebetter 3 来自天朝的朋友 QQ浏览器 Windows 10 河南省信阳市 联通

    随时记录很重要。

  13. 手机蛙排名软件 2 来自天朝的朋友 谷歌浏览器 Windows XP 浙江省嘉兴市 电信

    谷歌浏览器 http1.1 还行的,不用换的

  14. 森七 1 来自天朝的朋友 火狐浏览器 Windows 7 四川省南充市西充县 高院镇绿色网吧

    不错的文章

  15. 小残博客 3 来自天朝的朋友 谷歌浏览器 Windows 7 浙江省温州市 移动

    目前腾讯云的CDN服务不支持http2.0么. 源站配置好了 使用腾讯云的CDN后不显示了。

  16. 果核网 0 来自天朝的朋友 谷歌浏览器 Windows 7 广东省佛山市 联通

    签到成功!签到时间:下午4:04:13,每日签到,生活更精彩哦~

  17. 企业咨询 1 来自天朝的朋友 火狐浏览器 Windows 7 广东省深圳市 电信

    这个分享好

  18. 母婴B2B 1 来自天朝的朋友 谷歌浏览器 Windows 7 安徽省合肥市巢湖市 电信

    感谢博主的分享!

  19. 小哥网赚博客 1 来自天朝的朋友 谷歌浏览器 Windows 7 四川省宜宾市 电信

    好记性不如烂笔头

  20. 任务易 2 来自天朝的朋友 搜狗浏览器 Windows 7 湖北省 电信

    笑哭,没有记录重新造轮子

  21. 靠谱学生兼职网 1 来自天朝的朋友 谷歌浏览器 Windows 8.1 广西南宁市 联通

    https 是未来作站的趋势了吧。

  22. 胡杨老师 2 来自天朝的朋友 火狐浏览器5.0 Windows 7 河南省郑州市 联通

    代码总是看很久依旧不会

  23. 热腾网 4 来自天朝的朋友 谷歌浏览器 Windows 10 河北省石家庄市 电信

    N+A环境怎么设置好。

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

      N+A N为最外层,本文依旧有效。

  24. Hcyc 1 来自天朝的朋友 谷歌浏览器 Windows 10 福建省泉州市 电信

    SPDY Protocol Not Enabled!
    Seriously? This SSL/TLS server is using the NPN Entension to tell browsers it supports alternative protocols, but SPDY is not a protocol it supports. The server is not making SPDY an option. Since all the pieces are in place, hopefully it will be easy to enable SPDY support with this server.

    弄好了,网站没变化,进入测试的提示这个,百度的答案都不对。

  25. 小超 1 来自天朝的朋友 谷歌浏览器 Windows 10 广东省广州市番禺区 电信

    张戈博主你好,我想请教一下服务器有没有什么配置可以防止DDOS攻击,这几天连续被攻击了半个小时,已经超出了阿里云的免费防DDOS的攻击峰值了,把网站和服务器半小时内都无法打开,请问有什么防范措施吗?

  26. 小超 1 来自天朝的朋友 谷歌浏览器 Windows 10 广东省广州市番禺区 电信

    张戈博主你好,我记得2016年6月份的时候,我配置了http2.0后,发现收录变化太不稳定了,一会是1000多的收录,一会是300的收录,我有点想不通,是什么地方弄错了

  27. 破折君 1 来自天朝的朋友 火狐浏览器 Windows 7 福建省厦门市 电信

    https都没开通,你们都开始玩http2了。。

  28. abcdocker 1 来自天朝的朋友 火狐浏览器 Windows 7 北京市海淀区 北京舒华士科技有限公司

    文章不错,点赞!

加载中,请稍候...