Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 架构 > Linux架构 > 正文

Chrome将于5月底升级至第51版,大部分用户将不能使用HTTP/2

时间:2016-05-31 21:35 来源:网络整理 作者:51ou.com 阅读:

早在去年 8 月,Chromium 项目已经决定开始废弃的 NPN 协商协议(一个传输层安全协议扩展协议)。即将在 5 月 31 日发布的 Chrome 51 稳定版本中,NPN 协商协议将被正式废除,仅支持 ALPN 协商协议。也就是说,所有目前基于 NPN 协商协议的 HTTP/2 协议都将无法使用,并被降级到 HTTP/1.1。

这对于客户端来说没有太大影响,但是对于希望使用 HTTP/2 协议的服务端,将 NPN 升级到 ALPN,并不是一件容易的事情,OpenSSL 至少需要升级到 1.0.2 版本才可以支持 ALPN。


下表是常见服务器操作系统版本中自带的 OpenSSL 版本:

 

操作系统 OpenSSL 版本

CentOS 5 0. 9.8e

CentOS 6 1. 0.1e

CentOS 7 1. 0.1e

Ubuntu 14.04 LTS 1. 0.1f

Ubuntu 16.04 LTS 1. 0.2g

Debian 7 (Wheezy) 1. 0.1e

Debian 8 (Jessie) 1. 0.1k


从上表可以看出,目前常用的服务器版本中,默认 OpenSSL 为 1.0.2 的只有 Ubuntu 16.04 LTS。其他版本如果要升级 OpenSSL 版本,成本非常高,因为有很多包依赖 OpenSSL,这些包都需要重新打包并进行测试。另一方面,OpenSSL 1.0.1 的支持到 2016 年 12 月 31 日就将结束。


在一个传统搭建 LAMP(Linux、Apache、MySQL、PHP)服务器上,通常会依赖 OpenSSL 库的软件有:

$ lsof | grep libssl | awk '{print $1}' | sort | uniq
anvil
fail2ban
gdbus
gmain
httpd
postfix
mysqld
NetworkManager
nginx
php-fpm
puppet
sshd
sudo
tuned
zabbix_agent


也就是说,如果系统的 OpenSSL 版本升级,这些包都需要重新打包,如果有 API 不兼容的地方,升级成本将会更高。


在 Chrome 51 稳定版之前,以下示例的协商结果会使用 HTTP/2 协议:

coolex ~ # nghttp -v -n https://ma.ttias.be
[  0.252] Connected
[  0.507][NPN] server offers:
* h2
* http/1.1
The negotiated protocol: h2


但是升级之后,由于 NPN 协商逻辑已经废弃,Chrome 将无法协商获取服务器支持 HTTP/2 协议,进而降级成 HTTP/1.1 协议。

对于该问题,目前来看最简单的方式,是将应用运行到诸如 Docker 等的容器中。


本文永久更新地址:

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《Chrome将于5月底升级至第51版,大部分用户将不能使用HTTP/2》技术文章,《Chrome将于5月底升级至第51版,大部分用户将不能使用HTTP/2》详细使用和说明,有时《Chrome将于5月底升级至第51版,大部分用户将不能使用HTTP/2》可能不完善、敬请谅解!如果《Chrome将于5月底升级至第51版,大部分用户将不能使用HTTP/2》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片