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

68 天前
 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

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

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

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

1panel 刚投入使用,续签功能还得验证看
flynaj
67 天前
Let's Encrypt 用的最多,兼容性各方面都是第一。目前有 5 亿多个活跃证书。
sn0wdr1am
67 天前
acme.sh ,三个月自动续期。
sshnuke
67 天前
certbot 的 renew 好像不能指定更新一个域名而是一把更新,还要从记录里捞哪些域名被更新了
有没有参数能指定更新一个域名的
毕竟我还要跑后续脚本把被更新的证书推到腾讯云上去
lcy630409
67 天前
用的国内 tx 服务器
添加 v2ray
安装 acme.sh ,申请谷歌泛域名(我有两个域名,谷歌家 可以一个证书放两个域名)证书,到期自动续费 自动覆盖站点证书 重启 bt 重启 nginx
将域名进行加密 输出 json ,,其他自己家里 或者需要证书的地方 获取前面的 json 对比版本,自动更新
mouyase
67 天前
我用 OP 发的工具测了一下,是 A+
yikuo
67 天前
@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
67 天前
ranaanna
67 天前
@sshnuke #28 certbot renew --cert-name domain.com
lisxour
67 天前
@bug123 #16 这种最怕就是等用户起来后割韭菜
Dragonphy
67 天前
开源的 SSL 证书管理工具,可以帮助你自动申请、部署 SSL 证书,并在证书即将过期时自动续期。
https://github.com/usual2970/certimate
coagent
67 天前
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
67 天前
cloudflare dns ,可以带免费证书,续签都免了
spug
66 天前
在这里申请一个一年有效期的 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