1 linxu 2018-03-05 09:47:50 +08:00 crontab,重启 nginx |
![]() | 2 SEARCHINGFREE 2018-03-05 09:50:35 +08:00 周一凌晨 3 点半 restart ( |
![]() | 3 wweir 2018-03-05 09:52:47 +08:00 via Android --dry |
4 shooyaaa 2018-03-05 09:55:06 +08:00 nginx -s reload |
![]() | 6 mikulch 2018-03-05 10:09:39 +08:00 哎?我记得以前我使用 docker 的 nginx 与 let's Encrypt 是可以自动刷新证书的呢。 |
![]() | 7 sujin190 2018-03-05 10:12:23 +08:00 ![]() 肯定需要 reload 啊,nginx 启动的时候所有需要的配置就已经被加载到内存了,如果每次请求去读那还不慢死了,你不 reload nginx 怎么知道你要重新加载的啊 |
8 BOYPT 2018-03-05 10:13:21 +08:00 ![]() 神器 caddy 了解一下 |
![]() | 11 lanjz 2018-03-05 10:17:56 +08:00 |
![]() | 12 jessynt 2018-03-05 10:19:56 +08:00 certbot 的话可以用 post-hook |
15 BOYPT 2018-03-05 10:21:35 +08:00 |
![]() | 16 lanjz 2018-03-05 10:23:13 +08:00 @ColinZeb 我以前一直是 reload 的,确实大部分情况下 reload 没问题。不过前几天出了一个 https 的奇怪的问题,各种 nginx -s reload 都没生效。最后 nginx -s stop && nginx 后解决了。然后搜了下看到了那个,没有深入研究。 |
![]() | 17 rrfeng 2018-03-05 10:23:36 +08:00 via Android reload 即可 |
![]() | 18 jlkm2010 2018-03-05 10:28:29 +08:00 用的 traefik,爽歪歪 |
![]() | 19 jessynt 2018-03-05 10:28:41 +08:00 |
20 sunny00123 2018-03-05 10:50:45 +08:00 ![]() # /etc/cron.d/certbot: crontab entries for the certbot package # # Upstream recommends attempting renewal twice a day # # Eventually, this will be an opportunity to validate certificates # haven't been revoked, etc. Renewal will only occur if expiration # s within 30 days. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 0 */12 * * * root certbot renew --quiet --rsa-key-size 4096 --must-staple --post-hook "/etc/init.d/nginx reload" |
![]() | 21 xuhaoyangx 2018-03-05 10:56:08 +08:00 |
![]() | 22 xuhaoyangx 2018-03-05 10:56:23 +08:00 @lanjz #11 |
![]() | 23 flynaj 2018-03-05 10:58:50 +08:00 via Android |
25 Senorsen 2018-03-05 11:06:26 +08:00 说 reload 不行的,检查一下是不是 pid 文件设置错误之类的,导致 SIGHUP 没发过去。 |
27 jiangming1399 2018-03-05 11:36:44 +08:00 via Android 服务 reload 不行的试试 force-reload ? |
![]() | 29 smileawei 2018-03-05 11:57:24 +08:00 要 reload 的。 |
![]() | 30 anubu 2018-03-05 12:11:24 +08:00 @jlkm2010 最近刚接触 traefik,好像也碰到了这个问题。traefik 好像内置支持 Let's Encrypt 证书的自动续期和自动更新,但对自购证书,或者外部 Let's Encrypt 自动续期的证书也无法自动加载,似乎还是需要手动重启 traefik。 |
![]() | 31 jackroyal 2018-03-05 12:34:00 +08:00 via Android 有可能是证书目录的权限有问题,证书更新了,但是写入目录失败。我的当时就是这样 |
![]() | 32 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}\"" |
![]() | 33 nullen 2018-03-05 13:02:09 +08:00 改用 caddy 了。 |
35 BOYPT 2018-03-05 13:33:27 +08:00 ![]() @iiduce #34 一般来说就是 80 和 443 都让 caddy 监听就非常无痛了。 caddy 的配置异常简洁,各种功能配置都是现成。另外有个 forwardproxy plugin 很适合 fq |
38 kohos 2018-03-05 14:23:28 +08:00 caddy 官网写了做商业使用要收费……怕以后出问题,个人网站用用就算了 |