在腾讯云后台申请的证书有效期已变为 90 天,为了减少手动续签的麻烦,可以通过自动续签来解决。目前使用的`TrustAsia`单域名免费证书,是通过腾讯云申请的。

### 已知的证书服务商
1. Let's Encrypt
2. ZeroSSL
3. TrustAsia

过去曾有过`Let's Encrypt`被国内网络污染的情况,考虑到`TrustAsia`与国内云服务器厂商有合作,因此很多国内厂商推荐使用`TrustAsia`。

由于平时会开发小程序,担心使用`Let's Encrypt`或`ZeroSSL`时会遇到不信任的情况或速度较慢的问题。

目前使用`freessl`申请的是`TrustAsia` DV 证书,通过 DNS 验证,服务器上部署了`acme.sh`脚本进行证书管理。acme.sh 的证书请求服务地址是`freessl`提供的,自动处理证书续签后,重新加载 Nginx ,个人使用 RSA 加密。发现`freessl`申请的是`TrustAsia RSA DV TLS CA G3`,而腾讯云申请的是`TrustAsia RSA DV TLS CA G2`,G2 和 G3 版本之间存在区别。

查询到`freessl`的背景,可能是由个人开发者或小公司运营,因此对其安全性有所担忧,并不了解其如何与`TrustAsia`合作提供免费的单域名和泛域名证书。

打算迁移到`ZeroSSL`,不确定其使用效果。如果有使用过的经验分享,特别是小程序内用户量较大的情况下,可以通过微信的`WE 分析`查看网络请求失败的统计数据。

### 微信小程序 HTTPS 证书要求

微信小程序对于 HTTPS 证书的要求如下:

1. **HTTPS 证书必须有效**:证书不能过期。
2. **证书必须被系统信任**:证书的根证书必须是系统内置信任的。
3. **证书与域名匹配**:部署 SSL 证书的网站域名必须与证书中的域名一致。
4. **证书在有效期内**:证书不能过期。
5. **证书信任链完整**:服务器需要配置完整的证书信任链。
6. **iOS 不支持自签名证书**。
7. **iOS 证书必须满足 Apple App Transport Security (ATS)的要求**。
8. **TLS 版本要求**:必须支持 TLS 1.2 及以上版本。部分旧版 Android 设备可能不支持 TLS 1.2 ,因此确保服务器支持 TLS 1.2 及以下版本。
9. **证书兼容性**:部分 CA 可能不被操作系统信任,开发者应选择被微信小程序和各操作系统支持的证书。
10. **WoSign 和 StartCom 限制**:Chrome 56/57 版本内核已对 WoSign 、StartCom 的证书限制。

可以通过以下命令检查证书的有效性:

```bash
openssl s_client -connect example.com:443
```

也可以使用其他在线工具验证证书。如 [https://myssl.com/ssl.html]( https://myssl.com/ssl.html)
举报· 305 次点击
登录 注册 站外分享
30 条回复  
mohumohu 小成 2024-9-12 15:33:26
我选择 Google 证书
bug123 小成 2024-9-12 15:48:27
腾讯云阿里云买一个一年有效期的,几十块不贵
Tink 小成 2024-9-12 15:49:59
acme.sh 一把梭
RobinHuuu 小成 2024-9-12 15:53:54
zerossl ,letsencrypt, google 这几个免费的哪个不满足,1L 你测试的不仅仅是证书本身,更多的是 ssl 安全相关的 http 容器配置。我也是 zero ,但得到了 a 级评级
xiangyuecn 初学 2024-9-12 15:57:41
freessl 就是亚信自家的,去年问过亚信客服为什么 freessl 可以直接调他们的接口,客服说使 freessl 是他们家的
JensenQian 小成 2024-9-12 16:05:54
用 caddy 就完事了
别折腾 acme
hingle 小成 2024-9-12 16:11:18
traefik + zerossl
Karte 小成 2024-9-12 18:16:10
certbot 自动更新替换, 和 acme.sh 一个道理.
Bingchunmoli 小成 2024-9-12 18:43:04
@RobinHuuu 甚至能做到 s
1234下一页
返回顶部