虽然服务器在响应头中发送“Upgrade:h2”,但无法向Apache服务器发出http2请求

时间:2017-01-06 10:56:13

标签: apache http2 spdy nghttp2

我为Apache Web Server启用了mod_http2,并在conf中进行了必要的更改,仍然从浏览器向服务器发出的任何请求都遵循http / 1.1协议

服务器发送Upgrade:h2标头字段,但浏览器仍然继续发出http / 1.1请求。

HTTP/1.1 Requests Upgrade:h2 in Response Headers

如何从Mozilla / Chrome发出h2请求? 我正在使用Mozilla Firefox 48.0

3 个答案:

答案 0 :(得分:1)

  1. 检查Firefox中是否启用了HTTP / 2支持:
  2. 在Firefox的地址栏中输入“about:config”,然后搜索“network.http.spdy.enabled.http2”并确保将其设置为true。

    1. Firefox仅在TLS上实现HTTP / 2
    2. 因此,您必须使用https://xxxxx

      访问该网站

答案 1 :(得分:1)

浏览器目前仅通过$http支持HTTP / 2。请参阅http://caniuse.com/#feat=http2注释编号2。

答案 2 :(得分:0)

HTTP / 2标准对https施加了一些额外要求,不能使用指定black list的密码。

关于此的可接受的Apache SSL配置是:

SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
SSLProtocol All -SSLv2 -SSLv3

这需要在httpd配置文件中更改,httpd重启后不应发生NS_ERROR_NET_INADEQUATE_SECURITY。