【发布时间】:2016-09-09 15:46:45
【问题描述】:
我有一个最近升级到 HTTP/2 的站点,该站点运行 apache 2.4 / nginx 1.9.5 反向代理设置。除了 Safari 9 之外,我测试过的所有现代浏览器和操作系统都可以正常加载。在 Safari 9 上,网页在几分钟后就会超时,出现自定义 500 错误页面。这个问题是可重复的,因为我在 3 台带有 Safari 9 的不同 Mac 上对其进行了测试,并且在所有 3 个地方都发生了同样的事情。 apache 或 nginx 错误日志中没有出现错误。访问日志显示来自 Safari 浏览器的请求一遍又一遍地重复,所有 HTTP 状态均为 200,Safari 浏览器再次显示加载栏,直到超时。我也试过让 Safari 只访问一个没有其他代码的 phpinfo() 文件,同样的事情也会发生。
【问题讨论】:
-
检查你的密码套件!
-
ssl 密码为:“EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE -RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA :DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3 -SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES :!MD5:!PSK:!RC4";
-
另外,以防万一,我在切换到 http/2 期间没有更改密码。除了启用 HTTP/2 的行之外,没有任何配置。在我们使用相同密码的 SPDY 运行标准 HTTPS 之前。
-
是的,但是 HTTP/2 对密码更严格。使用 SSL Qualys 检查在 Safari 中运行的启用 HTTP/2 的网站(例如 shimmercat.com)以获取正确的密码列表。您也可以查看black list,但它比较长,并没有告诉您该怎么做。
-
比较 SSL 质量,它们使用了一些不同的密码,但对我来说更突出的是 Safari 9 握手模拟的椭圆曲线部分的微小差异,这可能是问题吗? thephonecaseplace.com握手: “野生9 / OS X 10.11řRSA 2048(SHA256)TLS 1.2> H2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp256r1 FS” shimmercat.com握手:“野生9 / OS X 10.11řRSA 2048(SHA256)TLS 1.2> H2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp521r1 FS" 所以 secp256r1 与 secp521r1
标签: apache encryption nginx https http2