iOS NSURLErrorDomain Code=-1200 “发生 SSL 错误,无法与服务器建立安全连接。”
Posted
技术标签:
【中文标题】iOS NSURLErrorDomain Code=-1200 “发生 SSL 错误,无法与服务器建立安全连接。”【英文标题】:iOS NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made." 【发布时间】:2020-11-02 16:43:40 【问题描述】:我的应用程序从 AWS 存储桶中获取资源(通过云端访问)。 部分用户无法获取数据,原因是
NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made."
当我们使用 AWS 服务时,我假设 SSL 证书没问题,它发生在一小部分(但不够小)的用户应该说 SSL 证书没问题。
我看到的有关此问题的任何其他帖子都建议在 info.plist 文件中向App Transport Security Settings
添加一个标志,以允许不安全的连接。这不是我可以(或不想)做的事情。
感谢您的帮助:)
【问题讨论】:
【参考方案1】:我从 Apple 开发者论坛中找到了 this solution,其中不涉及修改 App Transport Security Settings
:
而且您的场景中不应该需要 ATS 异常。这 我推荐的方法如下:
在您的组织内设置自定义证书颁发机构 (CA)(许多组织已经拥有此功能)。
让它为您的私人服务器颁发证书。
使用 MDM 在您的设备上安装您组织 CA 的根证书。
【讨论】:
谢谢!由于我不使用私有服务器,而是使用 AWS s3 + 云前端(带有 AWS SSL 证书),我认为这不适合我。【参考方案2】: 如果您使用的是 ***,这可能会发生。 但是,如果您使用的是 Charles Proxy 等代理工具,但尚未安装/信任 Charles Proxy 证书,也会发生这种情况。 当我在公共 wifi 网络上时,它也发生在我身上。似乎公共 wifi 是如何做某种 MITM 来添加一些广告的。我在使用 LTE 或非公共 wifi 时没有遇到同样的问题【讨论】:
以上是关于iOS NSURLErrorDomain Code=-1200 “发生 SSL 错误,无法与服务器建立安全连接。”的主要内容,如果未能解决你的问题,请参考以下文章
iOS NSURLErrorDomain Code=-1200 “发生 SSL 错误,无法与服务器建立安全连接。”
为啥 NSURLConnection 失败,错误 Domain=NSURLErrorDomain Code=-1005 “网络连接丢失。”在 Swift iOS8 中?
Swift 3.0 Alamofire 4.0 - Domain=NSURLErrorDomain Code=-999 “取消”
随机和偶然的网络错误(NSURLErrorDomain Code=-1001 和 NSURLErrorDomain Code=-1005)