大家国内项目单域名免费 ssl 证书自动续签都是用什么方法呢

7 天前
 3825995121

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

已知的证书服务商

  1. Let's Encrypt
  2. ZeroSSL
  3. TrustAsia

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

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

目前使用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 的证书限制。

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

openssl s_client -connect example.com:443

也可以使用其他在线工具验证证书。如 https://myssl.com/ssl.html

3166 次点击
所在节点    程序员
36 条回复
wuxuehai2020
7 天前
acme.sh 咯,要不然就是宝塔管理了
lerry
7 天前
Caddy+Aliyun/Cloudflare 插件,然后就忘了证书这件事吧

https://lerry.me/post/2024/09/caddy-simplify-ssl-certificate-management
purrgil
7 天前
bt 面板 1panel 面板版都有 ssl 自动续签。
bt 面板自动续签经常失败,原因不明,反馈过多次,累计几年了还没更新好。

设置 dns 域名验证,会添加一条 CAA 记录,
会导致收费商业 SSL 在验证的不能通过,
导致需要找客服人工客服处理,非常耽误事

1panel 刚投入使用,续签功能还得验证看
flynaj
7 天前
Let's Encrypt 用的最多,兼容性各方面都是第一。目前有 5 亿多个活跃证书。
sn0wdr1am
6 天前
acme.sh ,三个月自动续期。
sshnuke
6 天前
certbot 的 renew 好像不能指定更新一个域名而是一把更新,还要从记录里捞哪些域名被更新了
有没有参数能指定更新一个域名的
毕竟我还要跑后续脚本把被更新的证书推到腾讯云上去
lcy630409
6 天前
用的国内 tx 服务器
添加 v2ray
安装 acme.sh ,申请谷歌泛域名(我有两个域名,谷歌家 可以一个证书放两个域名)证书,到期自动续费 自动覆盖站点证书 重启 bt 重启 nginx
将域名进行加密 输出 json ,,其他自己家里 或者需要证书的地方 获取前面的 json 对比版本,自动更新
mouyase
6 天前
我用 OP 发的工具测了一下,是 A+
yikuo
6 天前
@flynaj 自从 Let's Encrypt 之前的根证书过期换了新的根证书后,很多旧设备就不兼容了,ZeroSSL 的兼容性要好很多。

https://letsencrypt.org/zh-cn/docs/certificate-compatibility/

https://help.zerossl.com/hc/en-us/articles/360058294074-ZeroSSL-Compatibility-List
Baloneo
6 天前
ranaanna
6 天前
@sshnuke #28 certbot renew --cert-name domain.com
lisxour
6 天前
@bug123 #16 这种最怕就是等用户起来后割韭菜
Dragonphy
6 天前
开源的 SSL 证书管理工具,可以帮助你自动申请、部署 SSL 证书,并在证书即将过期时自动续期。
https://github.com/usual2970/certimate
coagent
6 天前
acme.sh ,结合 ReloadCmd ,可以自由扩展,最近在一个项目中的实践:
- 域名解析服务使用腾讯云的,即 DNSPod ,acme.sh dns api 支持。
- 直接申请通配符的证书,申请了 *.dev.domain.com, *.staging.domain.com, *.domain.com 等。
- ReloadCmd 调用 Bash Shell 脚本,脚本根据场景用 Ansible 等去刷新绑定使用了证书的地方,目前已应用到 Nginx, APISIX, HAProxy, GitLab, Harbor, K8s 等自部署的程序,用 Python 实现支持云厂商 CLB, ALB 也是可行的。
fox0001
6 天前
cloudflare dns ,可以带免费证书,续签都免了
spug
5 天前
在这里申请一个一年有效期的 49 块钱,而且到期前会有多重提醒方式自动提醒: https://ssl.spug.cc/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1072311

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX