Swift NSURLSession/NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9800)

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证书,网站在最左边的角落显示安全,访问时没有问题 上述错误偶尔会发生一次。并非每次发送请求时都会发生上述错误。我的应用程序每秒发送一个请求以轮询新数据 我想问题可能是因为在短时间内发送了这么多请求。我不完全确定情况是

我真的对我现在面临的情况感到沮丧。 我们将非常感谢您的帮助

通过URLSession发送POST请求时,会出现NSURLSession/NSURLConnection HTTP加载失败(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中,我取消了下面显示的注释。我也尝试过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