iOS 11(Xcode9.2)连接IIS服务器遇SSL错误无法登录求助
解决iOS 11下连接未配置SSL的IIS服务器时的SSL错误问题
你碰到的问题核心其实很清晰——你的App尝试建立HTTPS连接,但目标IIS服务器完全没配置SSL证书或HTTPS服务,再加上iOS 11的ATS(App Transport Security)规则限制,才触发了这个报错:
An SSL error has occurred and a secure connection to the server cannot be made.
你已经尝试了ATS的基础配置但没效果,大概率是几个关键细节没处理对,我给你梳理下可行的解决步骤:
先确认请求协议是否匹配服务器能力
既然服务器只支持HTTP,那你代码里的请求URL必须是http://xxx开头,而不是https://!很多人会犯这个低级错误:明明开了ATS允许HTTP加载,但自己代码里还是写了HTTPS地址,服务器没SSL自然会触发SSL错误,这和ATS配置本身没关系。检查ATS配置的完整性与正确性
虽然你说已经设了Allow Arbitrary Loads为YES,但要确保Info.plist里的配置完全合规:- 找到
NSAppTransportSecurity字典项 - 确认
NSAllowsArbitraryLoads是布尔类型的YES,而非字符串或其他类型 - 如果之前添加了例外域名配置,排查是否和
NSAllowsArbitraryLoads冲突——比如同时设置了NSExceptionDomains但其中的规则限制了HTTP访问
- 找到
长远的根本解决方案:推动服务器配置HTTPS
现在iOS对ATS的限制只会越来越严格,而且HTTP传输数据毫无安全保障,建议推动服务器团队配置SSL证书(比如用免费的Let's Encrypt证书),将服务器升级为支持HTTPS。这样不仅能解决当前的连接问题,也符合App Store的安全审核要求。
内容的提问来源于stack exchange,提问作者Jayprakash Dubey
相关产品推荐
相关产品推荐

