Swift NSURLSession/NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9800)
我真的对我现在面临的情况感到沮丧。 我们将非常感谢您的帮助 通过URLSession发送POST请求时,会出现NSURLSession/NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9800)错误 我使用的是GoDaddy SSL证书,网站在最左边的角落显示安全,访问时没有问题 上述错误偶尔会发生一次。并非每次发送请求时都会发生上述错误。我的应用程序每秒发送一个请求以轮询新数据 我想问题可能是因为在短时间内发送了这么多请求。我不完全确定情况是否如此 我使用Tomcat作为web服务器,catalina.out没有显示出任何错误 为了看看可能出了什么问题,我做了诊断学检查Swift NSURLSession/NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9800),swift,ssl,app-transport-security,nsapptransportsecurity,Swift,Ssl,App Transport Security,Nsapptransportsecurity,我真的对我现在面临的情况感到沮丧。 我们将非常感谢您的帮助 通过URLSession发送POST请求时,会出现NSURLSession/NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9800)错误 我使用的是GoDaddy SSL证书,网站在最左边的角落显示安全,访问时没有问题 上述错误偶尔会发生一次。并非每次发送请求时都会发生上述错误。我的应用程序每秒发送一个请求以轮询新数据 我想问题可能是因为在短时间内发送了这么多请求。我不完全确定情况是
nscurl --ats-diagnostics https://***
结果如下:
Configuring TLS exceptions for ***
---
TLSv1.3
2018-05-16 11:35:00.691 nscurl[92034:10819554] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9800)
Result : FAIL
---
Configuring TLS exceptions with PFS disabled for ***
---
TLSv1.3 with PFS disabled
2018-05-16 11:35:01.273 nscurl[92034:10819468] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9800)
Result : FAIL
---
Configuring TLS exceptions with PFS disabled and insecure HTTP allowed for ***
---
TLSv1.3 with PFS disabled and insecure HTTP allowed
2018-05-16 11:35:01.591 nscurl[92034:10819579] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9800)
Result : FAIL
---`
其他一切都过去了
我试图缓解的问题。在Info.plist中,我取消了下面显示的注释。我也尝试过arbitraryloads,但它不起作用。此外,arbitraryloads在安全性方面有一些缺点,因此我希望尽可能避免使用它
<key>NSAppTransportSecurity</key>
<dict>
<!-- <key>NSExceptionDomains</key>-->
<!-- <dict>-->
<!-- <key>***</key>-->
<!-- <dict>-->
<!-- <key>NSExceptionRequiresForwardSecrecy</key>-->
<!-- <false/>-->
<!-- <key>NSExceptionAllowsInsecureHTTPLoads</key>-->
<!-- <true/>-->
<!-- <key>NSExceptionMinimumTLSVersion</key>-->
<!-- <string>TLSv1.2</string>-->
<!-- </dict>-->
<!-- </dict>-->
</dict>
NSAppTransportSecurity
感谢您花时间阅读我的问题(我的主要问题)谷歌搜索称错误-9800是SSL协议错误,这可能是服务器端问题。您的服务器支持TLSv1.2吗?@NobodyNada谢谢您的回复。我的服务器支持TLSv1.2。我在httpd中配置了它。它是example.com而不是example.com格式的异常域密钥。后者行不通。另外,ATs没有阻止它,它失败了,因为您试图在SSL连接有问题的地方建立安全连接。ATS异常不应该有什么区别。@wottle example.com和example.com之间有什么区别;?它们在我看来是一样的。我使用了前一个,但它当时仍然给我错误哈,应该是:
example.com
而不是https://example.com