uni-app 升级Hbuildx到3.1.18.20210609后 app端https请求失败 已设置sslVerify为false

uni-app 升级Hbuildx到3.1.18.20210609后 app端https请求失败 已设置sslVerify为false

操作步骤:

  1. 升级Hbuildx 到3.1.18.20210609 并更新相应的apk;
  2. 设置了sslVerify: false;
  3. 打包安卓离线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)

  1. 升级Hbuildx 到3.1.18.20210609 并更新相应的apk;
  2. 设置了sslVerify: false;
  3. 打包安卓离线apk,下载安装,请求https报错,http接口正常;

更多关于uni-app 升级Hbuildx到3.1.18.20210609后 app端https请求失败 已设置sslVerify为false的实战教程也可以访问 https://www.itying.com/category-93-b0.html

20 回复

离线打包 不支持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 也是可以的。

请问最终是怎么解决的?我们也遇到完全一样的问题。

请教一下你们解决了吗/

回到顶部