Ошибка загрузки HTTP NSURLSession/NSURLConnection (kCFStreamErrorDomainSSL, -9800)
Я действительно разочарован ситуацией, с которой я сейчас сталкиваюсь. Некоторая помощь будет принята с благодарностью.
При отправке запроса POST через URLSession он выдает ошибку загрузки NSURLSession/NSURLConnection HTTP (kCFStreamErrorDomainSSL, -9800).
Я использую SSL-сертификат GoDaddy, и веб-сайт показывает безопасность в дальнем левом углу без проблем при доступе.
Ошибка выше случается время от времени. Вышеуказанная ошибка не происходит каждый раз, когда я отправляю запрос. Мое приложение отправляет запрос каждую секунду для опроса новых данных.
Я предполагаю, что проблема может быть связана с отправкой очень большого количества запросов за короткий промежуток времени. Я не совсем уверен, так ли это.
Я использую Tomcat в качестве веб-сервера, и 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>
Спасибо, что нашли время, чтобы прочитать мой вопрос (главная проблема для меня)