You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在iOS应用中通过ATS配置仅允许HTTP请求?

ATS配置实现全域名/子域名仅允许HTTP请求

你当前的配置仅关闭了任意加载,但ATS默认强制要求HTTPS连接,因此必须针对所有需要的域名(含子域名)添加例外规则才能实现仅允许HTTP请求的需求,具体配置步骤如下:

  • 在NSAppTransportSecurity字典下新增NSExceptionDomains字段,这是配置域名级别ATS例外的核心节点。
  • 对每个主域名(比如example.com)创建对应的子字典,配置以下关键字段:
    • NSIncludesSubdomains: 设置为<true/>,确保该主域名下所有子域名都应用此例外规则
    • NSExceptionAllowsInsecureHTTPLoads: 设置为<true/>,允许该域名及子域名发起HTTP请求

完整配置示例如下:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
  <false/>
  <key>NSExceptionDomains</key>
  <dict>
    <!-- 替换为你的主域名,可重复此块添加多个主域名 -->
    <key>example.com</key>
    <dict>
      <key>NSIncludesSubdomains</key>
      <true/>
      <key>NSExceptionAllowsInsecureHTTPLoads</key>
      <true/>
    </dict>
    <key>another-domain.com</key>
    <dict>
      <key>NSIncludesSubdomains</key>
      <true/>
      <key>NSExceptionAllowsInsecureHTTPLoads</key>
      <true/>
    </dict>
  </dict>
</dict>

注意事项:

  • 需逐个添加所有需要支持的主域名,ATS不会自动匹配未配置的域名
  • 若域名数量极多,可考虑将NSAllowsArbitraryLoads设为<true/>,同时关闭NSAllowsArbitraryLoadsForMedia和NSAllowsArbitraryLoadsInWebContent(如果不需要媒体或网页视图的任意加载),但这种方式安全性较低,优先推荐域名例外的配置方式

内容的提问来源于stack exchange,提问作者Ashwini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 09:33:15