我对我现在面临的情况感到非常沮丧。一些帮助将不胜感激。
通过 URLSession 发送 POST 请求时,它给出 NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9800) 错误。
我正在使用 GoDaddy SSL 证书,网站在最左角显示安全,访问时没有问题。
上面的错误偶尔会发生一次。每次我发送请求时都不会发生上述错误。我的应用每秒发送一个请求以轮询新数据。
我认为问题可能是由于在短时间内发送了如此多的请求。我不完全确定是否是这种情况。
我使用 Tomcat 作为 Web 服务器,而 catalina.out 并没有显示出任何问题。
为了看看可能出了什么问题,我进行了诊断
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 中,我取消了下面显示的注释。我也尝试过任意加载,但它不起作用。此外,任意负载在安全性方面也有一些缺点,所以我想尽可能避免使用它
<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>
感谢您花时间阅读我的问题(对我来说是个主要问题)