uni-app 请求报错 request:fail abort statusCode:-1 此服务器的证书无效。您可能正在连接到一个伪装成“xxx”的服务器
uni-app 请求报错 request:fail abort statusCode:-1 此服务器的证书无效。您可能正在连接到一个伪装成“xxx”的服务器
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | Windows 10 | HBuilderX |
操作步骤:
- 云打包,使用自定义基座
预期结果:
- 所有接口正常访问
实际结果:
- 部分接口不能正常访问
bug描述:
云打包后真机运行,相同域名部分接口报错如下:
"errMsg": "request:fail abort statusCode:-1 此服务器的证书无效。您可能正在连接到一个伪装成“xxx”的服务器,这会威胁到您的机密信息的安全。(-1202)"
相同代码发布为微信小程序、android app都没有此问题。 自定义基座和标准基座都尝试过,呈相同问题。 ssl证书使用阿里云提供的免费证书,尝试过更换服务端ssl证书也没作用。
更多关于uni-app 请求报错 request:fail abort statusCode:-1 此服务器的证书无效。您可能正在连接到一个伪装成“xxx”的服务器的实战教程也可以访问 https://www.itying.com/category-93-b0.html
换个ip部署一下可以么?
更多关于uni-app 请求报错 request:fail abort statusCode:-1 此服务器的证书无效。您可能正在连接到一个伪装成“xxx”的服务器的实战教程也可以访问 https://www.itying.com/category-93-b0.html
换过,不行…奇怪的是,相同域名(证书肯定也相同)只有部分接口不行
请提供一个完整的示例,方便排查问题
解决了 http://www.04007.cn/article/1013.html 复制接口路径的时候 ,接口多了一个零宽空白、零宽度空白字符, 手动敲一遍接口路径就可以了
请问解决了吗
遇到同样的问题,求解决方案。ios真机运行就会报此错误,安卓不会。
{
“errMsg”: “request:fail abort statusCode:-1 此服务器的证书无效。您可能正在连接到一个伪装成“124.70.xx.xx”的服务器,这会威胁到您的机密信息的安全。(-1202)”
}
在 uni-app 中,当你遇到 request:fail abort statusCode:-1 此服务器的证书无效。您可能正在连接到一个伪装成“xxx”的服务器
的错误时,通常是由于以下原因之一:
1. SSL 证书问题
- 服务器使用的 SSL 证书可能无效、过期或不被信任。
- 证书可能不匹配请求的域名。
2. 自签名证书
- 如果你使用的是自签名证书,浏览器或 uni-app 的网络请求库可能不信任该证书。
3. 代理或中间人攻击
- 如果你使用了代理工具(如 Charles、Fiddler),可能会拦截 HTTPS 请求并导致证书错误。
解决方案
1. 检查服务器证书
- 确保服务器使用的是有效的、受信任的 SSL 证书。
- 检查证书是否过期,是否与域名匹配。
2. 信任自签名证书
- 如果你使用的是自签名证书,可以在开发环境中手动信任该证书。
- 在 iOS 设备上,你可以通过 Safari 访问服务器并手动信任证书。
- 在 Android 设备上,你可以将证书安装到设备的受信任证书存储中。
3. 禁用 SSL 验证(仅限开发环境)
-
在开发环境中,你可以暂时禁用 SSL 验证,但不推荐在生产环境中使用。
-
在 uni-app 中,你可以通过修改
uni.request
的配置来禁用 SSL 验证:uni.request({ url: 'https://your-server.com/api', sslVerify: false, // 禁用 SSL 验证 success: (res) => { console.log(res.data); }, fail: (err) => { console.error(err); } });
4. 检查代理设置
- 如果你使用了代理工具,确保代理工具的 SSL 证书已正确安装并信任。
- 你可以尝试关闭代理工具,看看问题是否仍然存在。
5. 使用 HTTP 协议(仅限开发环境)
-
如果服务器支持 HTTP 协议,你可以在开发环境中暂时使用 HTTP 协议进行测试,但不推荐在生产环境中使用。
uni.request({ url: 'http://your-server.com/api', success: (res) => { console.log(res.data); }, fail: (err) => { console.error(err); } });