无法访问Safari(iOS)上的网站

时间:2017-12-24 16:21:05

标签: ios iis safari reverse-proxy arr

我有一个托管在ubuntu下的apache web服务器上的网站。现在我在IIS(Windows服务器2016)中设置反向代理(ARR),将子目录(/ daily)指向apache web server - ubuntu中托管的网站。当我尝试通过iOS上的safari访问网站时,网站没有加载(加载栏显示在左上角;加载栏消失(几乎立即);我回到我以前的页面 - 页面没有重装,这就好像我什么也没做......)但是当我尝试在Chrome(笔记本电脑,安卓,PC),Firefox,Internet Explorer和其他非ios浏览器中访问它时,我可以成功加载网站。这是扭曲:当我尝试使用http(不安全)访问ios safari中的网站时,页面已成功加载。

我尝试了另一种设置: 我没有使用apache web服务器进行反向代理网站,而是尝试使用不同的服务器,但这次它托管在IIS,Windows Server 2016并设置相同的东西(相同的SSL证书,相同的内容)。当我尝试在safari ios(https& http)中访问它时,页面已成功加载。

我猜测反向代理中存在一个问题,当在safari ios中通过https访问时指向apache web服务器。这真的很奇怪,我不知道这里真正的问题是什么,因为当我尝试访问IIS中托管的普通网站以及反向代理时,我可以成功访问它们。

我希望你们能在这个问题上帮助我。

这是网站网址:https://www.investagrams.com/daily/(您也可以测试它们---尝试在ios safari中访问它会失败,其他浏览器---都成功)。

1 个答案:

答案 0 :(得分:2)

我做了一些研究,这是因为iOS 11正在协商HTTP / 2 TLS连接并且连接失败。 Microsoft有完全支持的解决方法,它禁用HTTP / 2 TLS连接。 有关此问题的更多信息,请参阅此处:https://www.essential.exchange/2017/09/18/ios-11-about-to-release-things-to-be-aware-of/

解决方法

在Apple修复之前禁用HTTP / 2。

要启用或禁用HTTP / 2,请执行以下步骤:

  1. 启动regedit(注册表编辑器)。
  2. 转到此子项:
  3.   

    HKEY_LOCAL_MACHINE \ SYSTEM \ CURRENTCONTROLSET \服务\ HTTP \参数

    1. DWORD 类型值 EnableHttp2Tls 设置为以下内容之一:

      • 设置为 0 以禁用HTTP / 2
      • 设置为 1 以启用HTTP / 2
    2. 重新启动计算机。

    3. 参考:https://support.microsoft.com/en-us/help/4032720/how-to-deploy-custom-cipher-suite-ordering-in-windows-server-2016