iOS NSURLErrorDomain Code=-1200 “出现 SSL 错误,无法与服务器建立安全连接。”

4

我的应用程序从 AWS 存储桶中获取资源(通过 CloudFront 访问)。 一些用户由于某些原因无法获取数据。

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添加一个标志,以允许不安全的连接。但这不是我可以(或想要)做的事情。

感谢帮助 :)

2个回答

1
  • 如果您使用VPN,这种情况可能会发生。
  • 但是,如果您使用代理工具(如Charles Proxy),但未安装/信任Charles Proxy证书,则也会发生此问题。
  • 当我连接到公共WiFi网络时,这也发生在我身上。似乎公共WiFi正在进行某种中间人攻击,以添加一些广告。当我使用LTE或非公共WiFi时,我没有遇到同样的问题。

0
我在苹果开发者论坛上找到了这个解决方案,它不需要修改App Transport Security Settings

在你的情况下,你不应该需要 ATS 异常。我推荐的方法如下:

  • 在你的组织内部设置一个自定义证书颁发机构(CA)(许多组织已经有了这个)。

  • 让它为你的私有服务器颁发证书。

  • 使用 MDM 在你的设备上安装你的组织 CA 的根证书。


谢谢!由于我不使用私有服务器,而是使用AWS s3 + CloudFront(带有AWS SSL证书),因此我认为这并不适合我。 - Ori Vainer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接