我有一个从我的服务器下载文件的iOS应用程序。最近我将服务器从Windows Server 2012升级到Windows Server 2016.突然升级后,我的iOS App开始无法从新服务器下载文件。
升级我的服务器时,我也更改了我的SSL证书并开始使用Wilcard SSL证书。这就是为什么我认为一些SSL问题是原因。但是当我在旧服务器上尝试时,我看到我的应用程序从我的旧服务器下载文件没有问题。
然后我以为我的服务器丢包了。当我在大约9000个数据包之后测试它时,我看到只有一个数据包丢失;所以情况也不是这样。
然后我想在IIS中可能出现导致连接丢失的事情。当我测试它(IIS失败的请求日志)时,我没有看到任何问题。
当我调试iOS App时,我看到了以下日志。我无法找到问题的正确答案。
任何想法在哪里看?
以前的操作系统& ISS版本: Windows Server 2012(Build 9200)/ IIS 8(8.0.9200.16384)
以前的操作系统& ISS版本: Windows Server 2016(1607 - Build 1493.1593)/ IIS 10(10.0.14393.0)
iOS应用联网库: AFNetworking
iOS错误日志:
[] nw_socket_set_receive_low_water_mark setsockopt SO_RCVLOWAT 3537 fd 28失败:[22]参数无效
[] nw_endpoint_handler_add_write_request [49.1 MyIP:443 socket-flow(满意)失败]无法接受写请求
[] tcp_connection_write_eof_block_invoke写入收到的close回调 错误:[22]参数无效
答案 0 :(得分:0)
所有关于HTTP / 2的内容都是IIS 10上的默认设置。没有选项可以将其关闭但我使用以下注册表项在服务器上完全关闭它。现在我的文件下载没有来自iOS的问题。
当然,我必须解决iOS上的问题并让它通过HTTP / 2下载文件,但现在它正在运行。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
EnableHttp2Tls REG_DWORD 0
EnableHttp2Cleartext REG_DWORD 0