iOS 10中的ATS和http

时间:2016-09-21 20:48:35

标签: ios ios9 ios10 app-transport-security

在启用了ATS(App Transport Security)的iOS 9中,没有任何例外,我无法通过http连接到服务器。我期待的是。

IE:

http://192.168.22.33

然而,在iOS 10中没有任何变化,我可以建立连接。

在这里看,我没有看到为什么会出现这种情况的任何更新: https://developer.apple.com/library/content/releasenotes/General/WhatsNewIniOS/Articles/iOS10.html

有什么想法吗?我想确保我仍然获得ATS保护。

1 个答案:

答案 0 :(得分:2)

  

远程和本地连接的ATS的可用性   App Transport Security(ATS)仅适用于与公共主机名建立的连接。系统不对以下连接提供ATS保护:

     
      
  • 互联网协议(IP)地址
  •   
  • 不合格的主机名
  •   
  • 使用.local顶级域名(TLD)的本地主机
  •   
     

要连接到非限定主机名或.local域,必须将NSAllowsLocalNetworking键的值设置为YES。

     

注意:虽然ATS未连接到本地主机,但Apple强烈建议对任何本地连接使用传输层安全性(TLS),并使用自签名证书来验证本地IP地址。 Apple Doc.

系统不为Internet protocol (IP) addresses的连接提供ATS保护。因此,我们可以在plist文件中没有任何NSAllowsLocalNetworking的情况下连接到服务器IP。