Apache+mod_http2+Chrome 58=HTTP 421?

之前在一篇博客文章提到Apache httpd启用mod_http2时,如果有多个VirtualHost时浏览器有一定几率报http 421错误.并因此考虑停用HTTP/2.

Apache官方称这种问题是由于多个VirtualHost使用不同的SSL协议版本或加密套件,导致HTTP/2的会话复用出错.

最近使用Chrome 58时,这种情况变得更加严重——每次访问我的站点时,这种情况一定会出现。由于我的Gravatar镜像和主站使用同一个VPS,导致页面上所有的Gravatar头像全变成"图裂".暂时停用HTTP/2,问题解决。

后来去Google了一番后发现Chromium的Mailing list里有人提到这个问题官方回应称此为bug,并已在Chrome 59中加以修复。下载更新后问题解决。

但值得注意的是,Nginx+HTTP/2+Chrome 58+多个server{}没有这个问题.