Let’s Encrypt 免费的ssl证书可以给小程序用吗?

可以,但有严格的前提条件。Let’s Encrypt 证书本身是受信任的 CA 签发的,小程序官方并不排斥它,关键看你如何配置。

核心要求:必须正确配置证书链

小程序对 HTTPS 证书的校验比普通浏览器更严格。Let’s Encrypt 证书完全能用,但部署时有一个最容易踩的坑:服务器必须发送完整的证书链。

阿里云SSL云盾证书(免费+付费): https://www.aliyun.com/product/ssl-certificate

阿里云服务器ECS 99元1年,续费不涨价: https://www.aliyun.com/minisite/goods
腾讯云轻量云服务器: https://cloud.tencent.com/act/cps/redirect?redirect=36719
京东轻量云服务器: https://3.cn/1YX-MxJv

微信官方文档要求证书的“信任链必需完整”。很多开发者用 Nginx 配置时,只指定了域名证书文件(如 cert.pem),而漏掉了中间证书,导致浏览器能打开但小程序真机请求失败。

正确做法:在 Nginx 配置中,ssl_certificate 必须指向 fullchain.pem(它包含了域名证书和中间证书),而不是 cert.pem。

其他必须满足的条件

除了证书链,还有几个硬性门槛:

  • 域名已备案:小程序服务器域名必须经过 ICP 备案。

  • TLS 版本:必须支持 TLS 1.2 及以上。

  • 证书有效且域名匹配:证书在有效期内,且颁发的域名与你请求的域名完全一致。

  • 自动续期:Let’s Encrypt 证书有效期较短(通常 90 天),务必配置自动续期任务。证书一旦过期,小程序请求会直接失败。

怎么验证配好了?

配置完后,别只看浏览器的小锁。可以在服务器上运行以下命令检查证书链是否完整:

bash
openssl s_client -connect 你的域名:443 -servername 你的域名 -showcerts

观察输出中 BEGIN CERTIFICATE 出现了几次。出现 2 次或以上(域名证书 + 中间证书),通常才是合格的;只出现 1 次意味着链不完整,小程序真机很可能报错。

小结:Let’s Encrypt 免费证书可以给小程序用,省钱完全可行。只要你确保服务器返回了 fullchain.pem 且域名已备案、开启了自动续期,就没问题。

未经允许不得转载:CLOUD云枢 » Let’s Encrypt 免费的ssl证书可以给小程序用吗?