【发布时间】:2017-09-01 09:38:01
【问题描述】:
在服务器上启用了 Http/2,昨天我注意到在 Iphone (IOS 10.2) 上没有加载一些资源错误:failed to load resource:connecting to server is not possible。当我将 Iphone 连接到 Mac 时,控制台中没有错误,只是某些请求的结果立即导致该错误。有趣的事情可能是未加载的资源是真实域的子域(CNAME 是正确的)。网站在 https 上。
服务器是 Windows server 2016。
编辑: 我们解决了这个子域问题,但仍然有来自同一域的请求没有响应。
我知道 IOS > 9.3 在通过 https 加载资源时支持 http/2,但是不工作的资源不属于该域可以帮助解决此问题,但我不知道如何解决。
我知道问题可能与 http/2 协议有关,因为我的 android 本机应用程序也因错误而停止工作: java.io.IOException: stream was reset: PROTOCOL_ERROR 。我通过强制我的应用程序使用 http/1 解决了这个问题。现在工作。但是如何解决那个 iphone safari 问题呢?
我使用 ASP.NET Web 窗体作为后端(从我使用的 ASP.NET 4.6 开始支持 http2)。
【问题讨论】:
-
你遇到了有趣的问题。 PS:格式化。
-
您的 SSL 证书是仅为真实域颁发的,还是为子域颁发的通配符证书?
-
是的,并且适用于子域,但我最近注意到实际域(不是子域)中的某些页面无法加载。如果我打开在 Chrome 或 Firefox 中不起作用的页面,我会得到响应(虽然是 http 1.1)响应。在 Mac 上的 Chrome 上运行的页面也可以运行并返回 http2 响应。我网站上的某些内容可能会阻止返回 http2 响应吗?还是 IIS 有问题,无法降级对相同页面的请求?
-
我们尝试通过添加 EnableViewState="false" 在有问题的 ASP.NET WebForms 页面上禁用视图状态,它似乎在某些情况下有所帮助(一些页面现在正在打开),但仍然没有最终解决方案...
标签: ios https safari network-protocols http2