关于 acme.sh 申请的免费证书, renew 的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
g0python32
V2EX    程序员

关于 acme.sh 申请的免费证书, renew 的问题

  g0python32 2024-04-25 15:26:21 +08:00 2737 次点击
这是一个创建于 541 天前的主题,其中的信息可能已经有所发展或是发生改变。

是这样子的, 我们小公司, 目前域名的证书都是用 acme.sh 申请的, 三个月有效期那种.

然后现在的模式是这样子, 项目是使用 rancher 部署, 然后 ssl 证书用服务器生成手动更新到 rancher 的证书列表中.

但现在手动在服务器 --force renew 证书, 证书到期貌似不会更新, 是还需要 install-cert 一遍再手动更新到 rancher 的证书列表中吗

个人对这个不是很了解, 自己的域名都是在自己的服务器上面, 没有这个担忧, 之前公司域名的证书都是用阿里云的免费的, 但是现在二级域名多了, 阿里云的免费额度不够了, 所以就用了 acme.sh

20 条回复    2024-05-08 02:29:48 +08:00
zapan
    1
zapan  
   2024-04-25 15:28:28 +08:00   1
totoro625
    2
totoro625  
   2024-04-25 15:31:38 +08:00   1
感觉是 rancher 的问题
手动在服务器 --force renew 证书后检查证书文件是否更新,挨个环节检查
photon006
    3
photon006  
   2024-04-25 15:38:52 +08:00   1
acme 默认就会自动更新

检查定时任务: crontab -l
vate32
    4
vate32  
   2024-04-25 15:46:03 +08:00   1
写个小脚本,先 renew ,然后 install ,最后强制重启 nginx (-s reload 不行)
g0python32
    5
g0python32  
OP
   2024-04-25 15:55:17 +08:00
@zapan 感谢, 先看看这个工具的文档
g0python32
    6
g0python32  
OP
   2024-04-25 15:56:15 +08:00
@totoro625 我也不是很清楚, 个人域名的 acme 的 force renew 不会有这个问题的, 自动更新全靠 crontab 证书也一直没过期; 但是公司的域名配合 rancher 使用就是三个月要手动替换一次 pem 和 key
g0python32
    7
g0python32  
OP
   2024-04-25 15:57:18 +08:00
@photon006 crontab 是有的. 但是手动 acme.sh --renew --force 之后再 install-cert, rancher 那边显示的时间还是旧的时间.
v2ruiex
    8
v2ruiex  
   2024-04-25 15:57:56 +08:00   1
端口也不能被占用,把 nginx 先关了再试试
g0python32
    9
g0python32  
OP
   2024-04-25 15:58:00 +08:00
@vate32 rancher 代替了 nginx 的作用了, 和这个没有关系的, renew 和 install 都执行了一遍, 证书过期时间还是旧的
totoro625
    10
totoro625  
   2024-04-25 16:10:17 +08:00
@g0python32 #9 rancher 重启一下也不会更新吗,对应的是 nginx -s reload
g0python32
    11
g0python32  
OP
   2024-04-25 16:45:16 +08:00
@v2ruiex 和这个没有关系.

@totoro625 刚对比了之前的 pem 和 renew 之后的 pem, 不一致的, 所以只能手动更新了
totoro625
    12
totoro625  
   2024-04-25 17:01:03 +08:00   1
@g0python32 #11 应该是证书文件更新了,但是 rancher 还是读取的自己缓存的证书,crontab 更新完证书再加一条让 rancher 重启一下就好了
yellowsky
    13
yellowsky  
   2024-04-25 18:06:15 +08:00   1
直接装 certbot ,自动 renew
lovelylain
    14
lovelylain  
   2024-04-25 19:28:51 +08:00 via Android   1
自己写个生效脚本,reload_cmd 指定,crontab 刷新后会自动 reload
JensenQian
    15
JensenQian  
   2024-04-25 19:36:50 +08:00 via Android   1
30 块钱买个一年 alpha ssl 的通配符
就是来源可能不太正规,有概率翻(不过没怎么见到过)
mgso
    16
mgso  
   2024-04-25 20:50:53 +08:00   1
检查一下是不是 ecc 的问题,之前一直用的好好的,突然有个版本更新后脚本自己执行了 install, 但是用的依旧是旧的过期的证书。且整个 renew 过程都是正常的

找了一圈发现它新生成的证书后面带了一个_ecc 。也就是说我本来应该是证书是 xxx.com 但 renew 后是 xxx.com_ecc ,

我的解决方案是 --installcert --ecc 添加一个-ecc 。让脚本安装 ecc 的版本证书

OP 可看看是不是同一个问题
zed1018
    17
zed1018  
   2024-04-25 21:09:35 +08:00   1
@g0python32 #5 如果 OP 打算用 cert-manager 的话,我建议直接 dns01 ,用 https://github.com/DEVmachine-fr/cert-manager-alidns-webhook 这个三方的 webhook 走阿里云解析自动验证域名。http01 虽然可以少配置,但是国内你懂的,letsencrypt 的服务器验证很难保证稳定过。
kennylam777
    18
kennylam777  
   2024-04-26 05:18:04 +08:00   1
cert-manager +1

我得 rancher 在是 k8s 的吧, 你要考的是 ingress 能不能直接跟 k8s secret 的 public cert 更新而自入, Ingress-NGINX Controller for Kubernetes 是可以的

nginx -s reload 是有缺的, 竟你的一直增加上去, 就要常 reload

在 Ingress-NGINX Controller for Kubernetes 就直接用 Lua 入解。

k8s 的, 是用 k8s 的方式解吧。
g0python32
    19
g0python32  
OP
   2024-04-26 10:33:10 +08:00
@kennylam777 #18 rancher 好像是阉割版的 k8s, k3s, 功能没有那么多. 实在不行就用 rancher api 更新吧
@zed1018 #17 好的 感谢, 目前来说还是先手动更新, 这些新的东西也不敢这么快就应用到生产环境
@mgso #16 应该和 ecc 没关系, 应该生成证书的机器和部署 rancher 的机器是分开的, 因为考虑到 gfw 的问题, 生成证书的机器在海外, rancher 在境内.
@JensenQian #15 哈哈, 公司业务还是优先考虑稳定, acme.sh 的免费证书虽然 90 天要 renew 一下, 但是稳定
@lovelylain #14 参考回复 #16 的, 应该和 reload 没关系
@yellowsky #13 acme.sh 也有 renew, 主要是生成证书和 racnher 不是同一台机器
@totoro625 #12 证书文件更新了, rancher 不能随便重启, 加上 rancher 和生成证书的服务器不在同一个服务器上面
awsl2333
    20
awsl2333  
   2024-05-08 02:29:48 +08:00 via Android
安装的时候默认会加个定时任务运行 acme --cron 吧
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2511 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 33ms UTC 04:18 PVG 12:18 LAX 21:18 JFK 00:18
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86