request:fail -200:net:ER_CERT_COMMON_NAME_INVALID

本文讲述了小程序运行时出现的因域名配置与内部ip不匹配导致的提示框问题,提供了修改内部ip为域名的解决方案。

小程序运行时,会弹出类似这样的框:

 

问题原因:这个问题是由于在微信公众管理平台配置的是域名,而小程序内部使用的是ip地址导致的。

解决方法:修改小程序内部使用的ip地址为微信公众管理平台的域名,即可解决该问题。

微信小程序真机调试过程中,若遇到 `errno: 600001` 和 `request:fail -200:net::ERR_CERT_COMMON_NAME_INVALID` 错误,通常表示网络请求过程中发生了 SSL 证书验证失败的问题。以下是详细的分析与解决方法: ### 1. 证书域名不匹配问题 错误信息中的 `ERR_CERT_COMMON_NAME_INVALID` 表示 SSL 证书的通用名称(Common Name)与请求的域名不匹配。微信小程序在发起 HTTPS 请求时,会严格校验服务器证书的域名是否与请求地址一致。如果服务器证书未正确配置或使用了 IP 地址访问,则会触发此类错误。 解决方法包括: - 确保服务器证书的 Common Name 或 Subject Alternative Name(SAN)字段包含请求的域名。 - 避免使用 IP 地址直接访问后端服务,应使用已配置证书的域名进行请求。 - 检查请求的 URL 是否拼写错误,确保域名正确无误[^1]。 ### 2. 服务器证书链不完整 微信小程序运行环境对 SSL 证书链的完整性要求较高,若服务器未正确配置中间证书(Intermediate CA),则可能导致证书链不完整,从而引发验证失败。 解决方法包括: - 确保服务器配置了完整的证书链,包括根证书(Root CA)和中间证书(Intermediate CA)。 - 使用 SSL Labs 的 [SSL Test](https://www.ssllabs.com/ssltest/) 工具检查服务器证书配置情况,确保评级为 A 或以上。 - 更新服务器证书配置,确保中间证书正确安装并链接至根证书。 ### 3. 本地开发环境测试绕过证书验证 在开发调试阶段,若需快速验证接口逻辑而无法立即修复证书问题,可临时关闭 SSL 证书校验。但此方法**仅限本地调试使用**,上线前必须恢复证书验证。 在微信开发者工具中,可以通过以下方式关闭 SSL 证书校验: - 打开“详情” -> “项目配置” -> 勾选“不校验合法域名、HTTPS 证书”选项。 - 注意:此设置仅在开发者工具中生效,真机调试时仍需确保证书有效。 ### 4. 真机调试时的证书问题排查 在真机调试阶段,若仍出现证书问题,可尝试以下步骤进行排查: - 使用手机浏览器访问相同的 HTTPS 地址,查看是否提示证书错误。 - 检查服务器是否支持 TLS 1.2 及以上协议版本,微信小程序不支持老旧的 SSL/TLS 协议。 - 确保服务器证书未过期,并且由受信任的 CA 颁发。 - 使用 `curl -v https://yourdomain.com` 命令检查服务器响应,观察 SSL 握手过程是否正常。 ### 示例代码:微信小程序发起 HTTPS 请求 ```javascript wx.request({ url: 'https://yourdomain.com/api/test', method: 'GET', success(res) { console.log('请求成功:', res.data); }, fail(err) { console.error('请求失败:', err); } }); ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

King·Forward

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值