Let's Encrypt 自动续期的证书 nginx 不会自动刷新

2018-03-05 09:44:59 +08:00
 ColinZeb
怎么解决,难道要在续期证书的时候执行 reload 吗
10466 次点击
所在节点    NGINX
38 条回复
xuhaoyangx
2018-03-05 10:56:08 +08:00
@tammy #5
@ColinZeb #9

reload 即可
30 2 * * 1 /usr/local/python/bin/certbot renew --force-renew --renew-hook "/etc/init.d/nginx reload"
xuhaoyangx
2018-03-05 10:56:23 +08:00
@lanjz #11
flynaj
2018-03-05 10:58:50 +08:00
照着做就行了 https://github.com/Neilpang/acme.sh/wiki/说明

用 nginx force-reload
Senorsen
2018-03-05 11:04:14 +08:00
@tammy 不需要 restart。reload 可以获取证书。
Senorsen
2018-03-05 11:06:26 +08:00
说 reload 不行的,检查一下是不是 pid 文件设置错误之类的,导致 SIGHUP 没发过去。
kenX
2018-03-05 11:27:22 +08:00
楼上没有一个人说 acme.sh 的--install-cert 选项?
jiangming1399
2018-03-05 11:36:44 +08:00
服务 reload 不行的试试 force-reload ?
ColinZeb
2018-03-05 11:46:09 +08:00
@kenX 这个功能并不好用,涉及到配置文件匹配修改。每个人写法都不一样,所以很难匹配
smileawei
2018-03-05 11:57:24 +08:00
要 reload 的。
anubu
2018-03-05 12:11:24 +08:00
@jlkm2010 最近刚接触 traefik,好像也碰到了这个问题。traefik 好像内置支持 Let's Encrypt 证书的自动续期和自动更新,但对自购证书,或者外部 Let's Encrypt 自动续期的证书也无法自动加载,似乎还是需要手动重启 traefik。
jackroyal
2018-03-05 12:34:00 +08:00
有可能是证书目录的权限有问题,证书更新了,但是写入目录失败。我的当时就是这样
rockyou12
2018-03-05 12:58:52 +08:00
我司是 nginx 集群,用的也是 acme.sh 来签,其实规划好了是可以自动更新的,只需要写好脚本。
acme.sh 有 reloadcmd 功能,更新的时候会调用的

https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E#3-copy%E5%AE%89%E8%A3%85-%E8%AF%81%E4%B9%A6

#!/usr/bin/env bash

HOST_NAME="your.domain.me"

~/.acme.sh/acme.sh --issue --dns dns_ali --force \
-d ${HOST_NAME} \
-d "domain1.${HOST_NAME}" \
-d "domain2.${HOST_NAME}"

~/.acme.sh/acme.sh --installcert -d ${HOST_NAME} \
--certpath /etc/ansible/ssl_cert/${HOST_NAME}/cert.cer \
--keypath /etc/ansible/ssl_cert/${HOST_NAME}/key.cer \
--fullchainpath /etc/ansible/ssl_cert/${HOST_NAME}/fullchain.cer \
--reloadcmd "ansible-playbook /etc/ansible/playbooks/nginx_cert_deliver.yml --extra-vars \"host_name=${HOST_NAME}\""
nullen
2018-03-05 13:02:09 +08:00
改用 caddy 了。
iiduce
2018-03-05 13:28:06 +08:00
@BOYPT
@nullen
求分享下 nginx 切换到 caddy 有什么要注意的地方吗?
BOYPT
2018-03-05 13:33:27 +08:00
@iiduce #34 一般来说就是 80 和 443 都让 caddy 监听就非常无痛了。
caddy 的配置异常简洁,各种功能配置都是现成。另外有个 forwardproxy plugin 很适合 fq
nullen
2018-03-05 13:35:32 +08:00
@iiduce 我额外开启了 tlsv1.0 的支持。其他没什么特别的。
iiduce
2018-03-05 13:40:49 +08:00
@BOYPT
@nullen 感谢,我看看文档,切换试试。
kohos
2018-03-05 14:23:28 +08:00
caddy 官网写了做商业使用要收费……怕以后出问题,个人网站用用就算了

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

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

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

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

© 2021 V2EX