Ich habe ein Problem, das kürzlich aufgetreten ist.ios9 HTTP-Ladevorgang fehlgeschlagen kCFStreamErrorDomainSSL (-9802)
In meinem Code, ich ein paar Bilder von einem HTTP-Server laden:
let urlPicture = "http://images.mydomain.com/" + self.currentUser.pic
imageView.sd_setImageWithURL(NSURL(string: urlPicture))
ich für meine Bilder Server nicht HTTPS verwenden, weil ich denke, es ist zu langsam gewesen wäre, aber vielleicht falsch auf ich bin dieser Punkt. Ein Nodejs-Server wird in einer AWS EC2-Instanz ausgeführt und überwacht Port 80, um Bilder zu verwalten.
Aufgrund ATS Einschränkungen erkläre ich Sub-Domain eine Ausnahme in meiner Info.plist-Datei für meine Bilder:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>images.mydomain.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.2</string>
<key>NSExceptionRequiresForwardSecrecy</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSRequiresCertificateTransparency</key>
<false/>
<key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
<false/>
<key>NSThirdPartyExceptionMinimumTLSVersion</key>
<string>TLSv1.2</string>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<true/>
</dict>
</dict>
</dict>
Vor kurzem habe ich eine neue Sub-Domain auf dem gleichen AWS Beispiel: https://api.mydomain.com Weitere NodeJS Server hört auf Port 443 und verwaltet die API.
Seit dieser Änderung ist alles in meiner app gut, wenn ich die API aufrufen, aber wenn ich Bilder laden ich folgendes Problem bin vor:
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)
Jede Idee fo das in Ordnung bringen?
Die Anwendung wird in Appstor veröffentlicht, so kann ich alle ATS nicht deaktivieren. Das ist der Grund, warum ich nur eine Ausnahme für meine Bilder Subdomain gemacht habe. – Thomi
Ich habe Ihren Vorschlag hinzugefügt, das Problem ist das gleiche. Ich denke, dass iOS für meine Anfrage automatisch HTTP zu HTTPS ändert. Irgendeine Idee, dieses Verhalten zu vermeiden? – Thomi
Ein weiterer Punkt, das Problem tritt nicht mit dem Xcode-Simulator auf, sondern nur mit einem echten Gerät. – Thomi