设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 2034|回复: 0

应对谷歌Chrome新策略,尽快支持ALPN

[复制链接]
 成长值: 51

签到天数: 4511 天

[LV.Master]伴坛终老

发表于 2016/5/27 16:11 | 显示全部楼层 |阅读模式 |Google Chrome 50.0.2661.102|Windows 8.1
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻

Chrome 浏览器将会在2016年5月31 号切换协商协议,预计在Chrome 51 中移除对NPN的支持,仅支持ALPN。Chrome 51 禁用 NPN,旨在推动WEB的升级发展,但ALPN需要 OpenSSL 1.0.2支持,现实中OpenSSL 1.0.2普及率太低,可能会导致一大批不支持 ALPN 的HTTP/2 网站最终无法协商到 HTTP/2。

什么是NPN和ALPN

NPN(Next Protocol Negotiation,下一代协议协商),是一个TLS 扩展,由 Google 在开发 SPDY 协议时提出,也就是服务端和浏览器之间用来决定使用 HTTP/1.1 还是最新的 HTTP/2 的协议。随着 SPDY 被 HTTP/2 取代,NPN 也被修订为 ALPN(Application Layer Protocol Negotiation,应用层协议协商)。二者的目标一致,都是用来在服务端和浏览器之间协商使用哪个 HTTP 版本,但实现细节不一样,相互无法兼容。

参考:谈谈HTTP/2的协议协商机制

为什么移除NPN会导致无法协商到HTTP/2?

·浏览器需借助HTTP/2协商协议机制,得知服务器是否支持HTTP/2。HTTP/2 Over TLS,可以使用TLS的NPN或ALPN扩展来完成协商;

·浏览器和服务端都支持NPN或ALPN协商,是用上 HTTP/2 的大前提;

·大部分 Web Server 都依赖 OpenSSL 库提供HTTPS服务,对于它们来说,是否支持NPN 或 ALPN完全取决于使用的 OpenSSL 版本;

·OpenSSL 1.0.2支持 ALPN,但在主流服务器操作系统中普及率太低。

升级建议

通过OpenSSL命令行工具,可以快速查看自己的HTTP/2 服务是否支持 ALPN 扩展:

openssl s_client -alpn h2 -servername imququ.com -connect imququ.com:443 < /dev/null | grep 'ALPN'

·如果提示 unknown option -alpn,说明本地的 OpenSSL 版本太低(可通过 openssl version 查看),请升级到 1.0.2+。如果不方便升级,也可以使用SSLLabs在线工具测试。

·如果结果包含 ALPN protocol: h2,说明服务端支持 ALPN,不受 Chrome 51 去掉 NPN 的影响。

·如果结果包含 No ALPN negotiated,说明服务端不支持 ALPN,在 Chrome 51 中无法协商到 HTTP/2,需要尽快升级。

注意事项

·由于OpenSSL 是系统基础库,大量其他软件都对它有依赖,如果直接升级系统自带的 OpenSSL,很容易引发各种问题。更为稳妥的做法是在编译 Web Server 时自己指定 OpenSSL 的位置。参考:Nginx 配置之完整篇

·如果你在用 LibreSSL 做为 Web Server 的 SSL 库,需要升级到 2.1.3+ 才支持 ALPN。

参考来源:

https://imququ.com/post/enable-alpn-asap.html

https://ma.ttias.be/day-google-chrome-disables-http2-nearly-everyone-may-31st-2016/

http://www.zcfy.cc/article/288


欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/5/11 05:41 , Processed in 0.173081 second(s), 24 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表