uni-app 升级Hbuildx到3.1.18.20210609后 app端https请求失败 已设置sslVerify为false
uni-app 升级Hbuildx到3.1.18.20210609后 app端https请求失败 已设置sslVerify为false
操作步骤:
- 升级Hbuildx 到3.1.18.20210609 并更新相应的apk;
- 设置了sslVerify: false;
- 打包安卓离线apk,下载安装,请求接口报错;
预期结果:
https请求成功
实际结果:
https(已经设置了sslVerify: false)请求失败,报错信息: 请求直接进到Fail方法里报错了,报错内容:request:fail abort statusCode:-1 java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
bug描述:
之前原Hbuildx 版本 2.9.8.20201110,打包成离线apk,https请求正常(sslVerify: false)
- 升级Hbuildx 到3.1.18.20210609 并更新相应的apk;
- 设置了sslVerify: false;
- 打包安卓离线apk,下载安装,请求https报错,http接口正常;
更多关于uni-app 升级Hbuildx到3.1.18.20210609后 app端https请求失败 已设置sslVerify为false的实战教程也可以访问 https://www.itying.com/category-93-b0.html
离线打包 不支持sslVerify: false
更多关于uni-app 升级Hbuildx到3.1.18.20210609后 app端https请求失败 已设置sslVerify为false的实战教程也可以访问 https://www.itying.com/category-93-b0.html
那app发起请求的时候,要配置什么吗?
回复 零九: 走标准SSL证书验证
你的网站TLS证书 没有被你的手持设备信任
感谢回答~ 但是还有些疑问: uni-app中的请求已经设置了sslVerify: false // 是否验证 ssl 证书 a. 为什么在安卓端,还会去校验TLS证书呢? b. 在Hbuildx 版本 2.9.8.20201110中https请求能正常访问,升级到3.1.18.20210609 https访问报错,是Hbuildx的版本问题嘛?
回复 1***@qq.com: 你提供一下你的网址,我这边具体定位一下。回复你哈
回复 DCloud_Android_DQQ: 你说的是https接口的地址嘛?公司是内网得vpn。。。 但是这个问题应该好浮现,只是升级了Hbuildx 版本到3.1.18.20210609,打包成离线apk,https请求就报错了
回复 1***@qq.com: 请问下你怎么解决的哈???我们也遇到了
但是这个问题应该好浮现
这个问题不好复习。手机上没有这个问题。可能与你的定制设备剪裁过 X509证书相关的模块有关。
你需要提供更多的日志或者复现问题的代码。否则我无法定位
有其他办法解决吗? 我们也是内网自己搞得证书。https请求不行
另外,你一直强调的 在Hbuildx 版本 2.9.8.20201110中https请求能正常访问,升级到3.1.18.20210609 https访问报错,是Hbuildx的版本问题嘛
给你解释一下,之前版本的HX sslVerify:false 的功能是, 完全不走默认的X509证书校验。
这样简单粗暴,但是会有很严重的安全风险。
在3.1.X版本上,修复了这个安全问题。 sslVerify:false的实现修改为,符合X509证书规范的忽略。
这个功能在更新三个月了,没有收到过问题反馈。这个报错应该与你的定制设备有关。
你好,我正在使用 3.2.16.20211122 开发,我设置了 sslVerify:false , 却没有生效。可以帮忙看看吗?
js 代码: uni.request({ url: ‘https://内网地址:9270/api’, method: ‘POST’, sslVerify: false, data: { test: ‘1111’ }, success: (res) => { console.log([request][res] ${JSON.stringify(res)}) this.request.status = “success” this.request.response = JSON.stringify(res); }, fail: (err) => { console.log([request][err] ${JSON.stringify(err)}) this.request.status = “error” this.request.response = JSON.stringify(err); } })
但在 WXStreamModule.class 的 fetch 方法的 optionsObj 参数中,sslVerify 仍然为 true
回复 2***@qq.com: 需要提供一个完整可以复现问题的操作步骤 和demo,. 最好单独开个ask
回复 DCloud_Android_DQQ: 在 https://ask.dcloud.net.cn/question/134210 这个帖子中找到回复了。 据 DCloud_Android_ST 的回复,离线打包不支持忽略证书校验,感谢回答
多谢回答,了解了,在3.1.X版本上,https请求,需要配置证书
官网上网络请求的tips得更新一下了~
问题解决就好。 其实描述没有问题。 一般手机设备配置sll false 也是可以的。
请问最终是怎么解决的?我们也遇到完全一样的问题。
请教一下你们解决了吗/

