let's encrypt 的证书只有 3 个月,也就是说 3 个月就要换一次证书,我看到的网上的教程都是关闭 nginx 服务后,粘贴新的证书进去,然后开启 nginx 服务,这样会导致服务中断一下,请问有什么办法可以不关闭服务就能更新证书吗?
还有其他 go 语言的框架比如 echo,gin 这种框架,能不能不关闭服务也能更新证书吗?谢谢啦。
1
suifengdang666 2022-04-26 12:52:28 +08:00
reload nginx
|
2
icyalala 2022-04-26 12:52:39 +08:00
nginx -s reload
|
3
villivateur 2022-04-26 12:52:50 +08:00 via Android
你直接换了证书之后,nginx -s reload 就行了
|
4
Lax 2022-04-26 15:12:38 +08:00
certbot 安装 letsencrypt 应该是自动更新自动 reload 服务,不会造成中断的。
而且即使使用手工方法更新证书,替换证书文件之后,nginx -s reload 也就能无缝更新了,不必要中断服务的。 这种基础问题方面,baidu 到的二手技术文档错误太多啦 |
5
ttgo 2022-04-26 16:28:13 +08:00
你看的教程,有毒。
用楼上说的 certbot 。 |
6
keepeye 2022-04-26 16:30:07 +08:00
nginx 支持平滑重启啊,先替换证书文件再 reload 或者 restart 都可以。。
至于 gin 之类的,一般前面挂一台 nginx ,证书走 nginx 校验就行了,实现后端平滑重启可以通过后端另起进程修改后端端口号,重启 nginx ,再关闭旧的后端进程 |
7
mozhizhu 2022-04-26 16:46:09 +08:00
其实,nginx 启停很快的……而且还有 reload 嘛
|
8
hgc81538 2022-04-26 16:50:19 +08:00
在 reload 或 restart 前最好 sudo nginx -t 測試一下 config 有冇錯, 否則可能導致服務中斷
|