小程序服务器https配置

进行微信小程序开发,请求域名只支持 https 和 wss 协议。这就不得不对服务器https进行配置。

Part 1

自己的域名是在腾讯云购买的,腾讯云控制台内有申请SSL证书的菜单,直接点击申请就可以了。下发的是TrustAsia TSL1.2的免费SSL证书。

于是将证书配置至自己的域名(不同中间件配置方式不同,省略1W步。。。)

通过浏览器访问https+域名,发现可以访问了。于是配置域名至小程序的后台。
小程序服务器https配置_第1张图片

Part 2

然后在小程序内请求这个地址,却提示 “对应的服务器证书无效。控制台输入 showRequestInfo() 可以获取更详细信息”

于是就showRequestInfo(),发现控制台内请求的securityState显示是insecure,isSecuryCertificate显示是false。

百度一下,很多文章说把证书校验关掉就可以了

小程序服务器https配置_第2张图片

开发是可以继续进行下去了。
但是这根本就是治标不治本好嘛!
作为一名轻微强迫症
看着consle里面黄黄的warning根本不能忍好嘛!
而且开发完成了不还是要面临解决这个问题嘛!

来到 https://cloud.tencent.com/product/ssl 进行域名https检测

小程序服务器https配置_第3张图片

说我证书域名不匹配

这是我域名申请的证书啊?怎么会不匹配呢? 这时候才想起,我给小程序使用的是子域名:wxapp.xxxx.me,而我在腾讯云申请的证书是主域名:www.xxxx.me的。

难怪我用浏览器访问的时候会有这个提示:
小程序服务器https配置_第4张图片

Part 3

于是,我又在腾讯云上申请了一个子域名:wxapp.xxxx.me的证书,替换配置过去,这下终于绿了。

小程序服务器https配置_第5张图片
image

再去小程序请求,一切ok。

PS:带通配符的域名,例如:.domain.com、.ssl.domain.com 均为泛域名,包含同一级的全部子域名; 注意二级泛域名 *.domain.com 不支持三级域名 example.ssl.domain.com。但此类通配域名一般需付费。

写在最后

如果自己在给域名配置HTTPS后可以访问,但微信开发者工具(小程序)不能正常请求时

可以首先使用Chrome打开目标域名,查看Chrome URL左侧的小锁提示,查看连接是否安全,SSL证书是否有效

小程序服务器https配置_第6张图片

排查内容:

  • 微信小程序后台是否配置request合法域名

  • 配置合法域名之后是否重启开发者工具

  • SSL证书配置是否正确(腾讯云苹果ATS检测、MySSL证书状态检测)

你可能感兴趣的:(小程序服务器https配置)