uni-app 升级中心阿里云函数报SSL错误

uni-app 升级中心阿里云函数报SSL错误

操作步骤:

  • app使用官方升级中心进行检查更新,云函数为阿里云

预期结果:

  • 阿里云函数请求正常,返回更新结果

实际结果:

  • 苹果手机提示 request:fail abort statusCode:-1 发生了SSL错误,无法建立与该服务器的安全连接,app无法完成更新,切换网络后正常

bug描述:

  • 用官方的升级中心,访问阿里云函数,部分苹果手机请求时提示 request:fail abort statusCode:-1 发生了SSL错误,无法建立与该服务器的安全连接
5 回复

我和你相反,安卓用流量访问报错,用wifi就正常,不知道官方改了什么改出bug了

更多关于uni-app 升级中心阿里云函数报SSL错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html


此问题阿里云已修复,感谢反馈。可以注意下你的应用正常了没

现在是报另一个错误:request:fail timeout 很多用户都这样

回复 skshu开发者: 昨天这个问题出现了一会,阿里云快速修复了

该问题通常是由于阿里云函数返回的SSL证书链不完整或中间证书缺失,导致部分iOS设备(特别是较新版本)的ATS(App Transport Security)策略校验失败。

主要原因:

  1. 阿里云函数默认配置可能未包含完整的SSL中间证书
  2. iOS系统对SSL证书验证更加严格
  3. 网络环境差异(如某些网络会拦截或修改SSL握手)

解决方案:

1. 检查阿里云函数SSL配置

  • 登录阿里云函数计算控制台
  • 确保自定义域名配置了完整的证书链(包含根证书、中间证书)
  • 可通过SSL检测工具(如SSL Labs)验证证书链完整性

2. 更新uni-app配置manifest.json中添加ATS例外(临时方案):

{
  "app-plus": {
    "distribute": {
      "ios": {
        "ATS": {
          "NSExceptionDomains": {
            "your-domain.com": {
              "NSIncludesSubdomains": true,
              "NSTemporaryExceptionAllowsInsecureHTTPLoads": true,
              "NSTemporaryExceptionMinimumTLSVersion": "TLSv1.0"
            }
          }
        }
      }
    }
  }
}

3. 升级中心配置优化 检查升级中心云函数:

  • 确保API网关或函数计算端点使用HTTPS
  • 验证响应头包含正确的Content-Type: application/json

4. 网络请求超时设置 在请求升级检查时增加超时时间:

uni.request({
  url: 'https://your-function-url',
  timeout: 10000, // 10秒超时
  // ...
})
回到顶部