uniapp ios 使用https自签证书的后端如何处理?

在uniapp开发的iOS应用中,使用自签证书的HTTPS后端接口时,iOS系统会报证书不受信任的错误。请问该如何处理这种情况?是否需要在App中配置证书白名单,或者有其他解决方案能让iOS信任自签证书?

2 回复

iOS对自签证书要求严格,建议后端申请受信任的SSL证书(如Let’s Encrypt免费证书)。若必须用自签证书,需将证书安装到iOS设备信任列表中,并在uniapp中配置忽略证书验证(不推荐,存在安全风险)。


在 UniApp 中,iOS 设备对 HTTPS 自签证书的处理较为严格,默认会拒绝连接。以下是解决方案:

1. 开发环境临时方案(仅调试用)

manifest.json 中配置不验证证书:

{
  "app-plus": {
    "ssl": {
      "verify": false
    }
  }
}

注意:此方法仅适用于开发测试,正式发布需移除。

2. 后端配置可信证书(推荐)

  • 使用 Let’s Encrypt 等免费 SSL 证书服务。
  • 或购买商业证书(如 DigiCert、GlobalSign)。

3. iOS 原生配置(需离线打包)

修改 iOS 原生工程中的 Info.plist

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

但 Apple 审核可能拒绝此配置。

4. 服务端部署正式证书

确保证书链完整,中间证书正确安装。可通过 SSL Labs 检测。

总结

  • 生产环境必须使用可信证书。
  • 自签证书仅限内部测试,且需配合客户端配置。
  • 长期方案是部署受信任的 CA 证书。

建议优先通过后端解决证书信任问题,避免客户端绕过安全机制。

回到顶部