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

2016 年 5 月 23 日

早在去年 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 等的容器中。


感谢刘振涛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016 年 5 月 23 日 19:003412

评论

发布
暂无评论
发现更多内容

第二周学习总结

武鹏

架构师训练营-作业-2-架构设计原则

superman

架构设计篇之领域驱动设计(DDD)

小诚信驿站

领域驱动设计 DDD 架构设计 架构设计原则 刘晓成

在滴滴和字节跳动干了 2 年后端开发,太真实…

程序员生活志

程序员 字节跳动 后端 滴滴 开发

带功能隔离的cache设计

于成

架构师训练营 - 第二周 - 作业

韩挺

CVPR 2020 六小时教程上线!新视角生成的前沿方法

神经星星

人工智能 学习 计算机视觉 模式识别 教程

架构师训练营第二周作业

sunnywhy

第二周总结

芒夏

极客大学架构师训练营

Week2-总结

TiK

极客大学架构师训练营

架构师训练营第二周作业

好名字

极客大学架构师训练营 作业

Spring Web MVC 依赖倒置原则分析

王鹏飞

数据库周刊28│开发者最喜爱的数据库是什么?阿里云脱口秀聊程序员转型;MySQL update误操作;PG流复制踩坑;PG异机归档;MySQL架构选型;Oracle技能表;Oracle文件损坏处理……

墨天轮

数据库

Week 02 学习总结

卧石漾溪

极客大学架构师训练营

架构师训练营作业 (1)

孙志超

架构师训练营 - 第二周 - 学习总结

韩挺

英特尔发布提升计算效率的多种新方法:将在机器人、增强现实等领域广泛应用

飞天鱼2017

深入理解MySQL索引

Simon郎

MySQL 索引

架构师训练营第二周总结

sunnywhy

架构师训练营-第二章课程总结-软件设计&面向对象

而立

极客大学架构师训练营

第二周作业

changtai

极客大学架构师训练营

架构师训练营 - 软件设计原则

Pontus

极客大学架构师训练营

永远招聘:打造高绩效团队的最佳姿势

伴鱼技术团队

企业文化 管理 团队建设 绩效 团队组织

架构师训练营 - 软件设计原则

Pontus

极客大学架构师训练营

Week2-作业

TiK

极客大学架构师训练营

理解持续测试,才算理解DevOps

DevOps 测试 持续集成

ARTS打卡Week 04

teoking

ios LeetCode ARTS 打卡计划

【架构训练营】第二周总结

Mr.hou

极客大学架构师训练营

架构师训练营——第二周作业

jiangnanage

第二周作业

武鹏

第二周作业

芒夏

极客大学架构师训练营

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