【发布时间】:2015-12-16 02:43:45
【问题描述】:
我正在 iOS9 中测试一个应用程序,并在 ATS 从 amazon.com 加载图像时遇到 SSL 错误。我所有的东西都是通过 https 传递的,但我仍然遇到问题。
我添加了正确的 ATS 密钥(在另一个应用程序上工作)。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>amazonaws.com</key>
<dict>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
</dict>
</dict>
我一直在论坛、adc 和 SO 上逛遍,但我没有任何运气。
我已尝试完全删除 ATS,但仍然遇到同样的错误。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
错误:
NSURLSession/NSURLConnection HTTP 加载失败 (kCFStreamErrorDomainSSL, -9802) 错误域=NSURLErrorDomain 代码=-1200 “发生 SSL 错误,无法与服务器建立安全连接。” UserInfo={NSURLErrorFailingURLPeerTrustErrorKey=, NSLocalizedRecoverySuggestion=您是否仍要连接到服务器?, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9802, NSErrorPeerCertificateChainKey={type = immutable, count = 3, values = ( 0: 1: 2: )}, NSUnderlyingError=0x7ffe70e2c690 {Error Domain=kCFErrorDomainCFNetwork Code=-1200 “发生 SSL 错误,无法与服务器建立安全连接。” UserInfo={NSErrorFailingURLStringKey=https://redacted.s3.amazonaws.com/14B78421-84F1-48D1-A8F4-73B688102EE7-21502-00003598C1B6C883_thumbnail.jpg, NSLocalizedRecoverySuggestion=你还想连接服务器吗?, _kCFNetworkCFStreamSSLErrorOriginalValue=-9802, kCFStreamPropertySSLPeerCertificates={type = immutable, count = 3, values = ( 0: 1: 2: )}, _kCFStreamPropertySSLClientCertificateState=0, kCFStreamPropertySSLPeerTrust=, NSLocalizedDescription=发生 SSL 错误,无法与服务器建立安全连接。, _kCFStreamErrorDomainKey=3, NSErrorFailingURLKey=https://redacted.s3.amazonaws.com/14B78421-84F1-48D1-A8F4-73B688102EE7-21502-00003598C1B6C883_thumbnail.jpg, _kCFStreamErrorCodeKey=-9802}}, NSLocalizedDescription=SSL发生错误,无法与服务器建立安全连接。, NSErrorFailingURLKey=https://redacted.s3.amazonaws.com/14B78421-84F1-48D1-A8F4-73B688102EE7-21502-00003598C1B6C883_thumbnail.jpg, NSErrorFailingURLStringKey=https://redacted.s3.amazonaws.com/14B78421-84F1-48D1-A8F4-73B688102EE7-21502-00003598C1B6C883_thumbnail.jpg, NSErrorClientCertificateStateKey=0}
静态文件:AWS 亚马逊
主持人:Heroku
后端:Django
API:Django Rest 框架
我已经尝试了在 ATS 上可以找到的所有配置、清理/重置/重建、修改 Django 请求(最初它们包括查询字符串身份验证)等等。我对此感到困惑并被阻止。
【问题讨论】:
-
我也在使用 SDWebImage 来获取图像。
-
更多信息——关于上传的新图片,设备上不存在 SSL 错误——但模拟器上存在(验证)。
标签: ios django ssl amazon-s3 ios9