概述
errMsg:uploadFile:fail Error [ERR_TLS_CERT_ALTNAME_INVALID]:Hostname/IP does not match certificate's altname: IP: 127.0.0.1 is not the cart's list;
问题产生背景:
小程序需要备案的域名进行交互通信,非备案域名,不可以通信。
小程序通信必须使用https协议,只有测试时才可以使用http+ip通信(需勾选 不校验合法域名、web-view(业务域名)、TLS版本以及Https证书 )
域名已经备案,tls证书申请了阿里云的免费证书。
后台服务器(Apache Tomcat 9) 配置好了tls证书。
问题描述:
在本地测试时:使用https://127.0.0.1:port/xxx 访问本地接口但是如图报错:
uploadFile:fail Error [ERR_TLS_CERT_ALTNAME_INVALID]:Hostname/IP does not match certificate's altnames:IP:127.0.0.1 is note in the cert's list;
<image>
问题解决:
刚开始也没怎么看提示,以为服务器测试问题,一同乱改还,不过还是不行。
回来仔细查看提示信息:[别名不被允许的错误]:主机名/IP 不匹配证书的别名列表:ip 127.0.0.1 不在证书列表中。
问题很明显了:证书的允许列表里不存在127.0.0.1 这个ip或altname。
问题产生关键原因:免费的tls证书不允许通配的出现,只允许配置一个域名,与该域名捆绑起来,出了该域名外任何域名和IP都不能通过tls证书验证。所以:[ERR_TLS_CERT_ALTNAME_INVALID]
解决办法:
1、去除tomcat的证书配置,直接使用http协议
2、修改域名解析为127.0.0.1。(备案后的域名,修改解析比较不划算)。
3、不想修改域名解析,但是还是要用https协议。(造假欺骗,也就是本地域名解析为127.0.0.1。即修改hosts)通过修改hosts,让域名直接与127.0.0.1通信,不通过dns解析,然后直接使用域名通信。
4、最完美的解决办法:购买可以通配的tls证书,就可以增加多个hostname/ip,证书就可以多个ip/hostname使用了。
最后
以上就是直率花瓣为你收集整理的小程序开发踩坑:Error [ERR_TLS_CERT_ALTNAME_INVALID]问题产生背景:问题解决:的全部内容,希望文章能够帮你解决小程序开发踩坑:Error [ERR_TLS_CERT_ALTNAME_INVALID]问题产生背景:问题解决:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复