请教 Nginx 时完整的 SSL 刷新教程或者脚本,例如证书已经申请,前辈一般是怎么做的
![]() |
1
Tink PRO 什么意思?没太看懂需求,按我的理解,证书申请好的时候触发 webhook ,然后 nginx -s reload ?
|
![]() |
2
skiy 25 天前
acme.sh 支持 hook 。有更新证书之后,执行 hook 。参数是:
--reloadcmd <command> Command to execute after issue/renew to reload the server. |
![]() |
3
zdking08135 25 天前
|
4
Daybyedream 25 天前
配置路径 更新进去新的?然后 -s reload
|
5
dcsuibian 25 天前
我用 caddy ,基本就不用担心 HTTPS 证书了
|
![]() |
6
mohumohu 25 天前
搞这么复杂干嘛,反正证书一般都是提前续期的,每天定期 systemctl restart 不就好了,跟 relaod 有何区别
|
![]() |
7
defunct9 25 天前 via iPhone
le go
|
8
dfdd1811 25 天前
acme 申请证书,nginx 配置写死证书位置。acme 自动续证书,一般也不管
|
9
gujiwork 25 天前
我都是用 https://ssl.dnsjia.com ,首次配置好,后续都是自动更新
|
![]() |
10
sunny2580839896 25 天前
docker acme 不能运行的时候生成证书,必须要运行后再进入容器使用命令生成
|
![]() |
12
defunct9 25 天前
哦哦,真不是。现在更新证书我只用 lego ,连宝塔的证书更新我都用 lego 了
|
13
PerFectTime 25 天前
|
![]() |
14
Foxkeh 25 天前
@PerFectTime 没有恶意哈哈,上面的大哥很久没说他的口头禅了
|
![]() |
15
YummyCocoa 25 天前
看看这个 acme.sh 的视频使用教程满不满足需要: https://www.bilibili.com/video/BV1kxNAenEfm/
|
![]() |
16
defunct9 25 天前
哈哈,开 ssh ,让我上去 lego
|
![]() |
17
skiy 25 天前 via iPhone
@sunny2580839896 外部 exec 就行了,就是无法刷新 nginx 。不过我自己写命令行监听 ssl 目录,当有更新时,再刷新 nginx 。
|
![]() |
18
FrankFang128 25 天前
这些教程没有考虑墙的问题,你如果用的是国内云机器,那么你最好使用 dns 来鉴权,阿里云支持命令行来新增 dns 解析,有对应的插件
|
![]() |
19
jiangzm 25 天前
1 、自动生成证书到固定路径
``` export CF_Token="你的 Cloudflare API Token" export CF_Account_ID="你的 Account ID" acme.sh --issue -d example.com -d '*.example.com' --dns dns_cf ``` 2 、Nginx 配置上述证书路径 ``` acme.sh --install-cert -d example.com --key-file /etc/nginx/ssl/example.com.key --fullchain-file /etc/nginx/ssl/example.com.cer --reloadcmd "systemctl restart nginx" ``` 3 、每天定时或生成证书时 Reload Nginx ``` # 查看定时任务 crontab -l 0 4 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null ``` |
![]() |
20
brucewsl 25 天前
allinssl WEB 界面的,自动更新并部署证书
|
21
kingwrcy 25 天前
用这个 https://github.com/certimate-go/certimate 谁用知道 很强大 基本支持了市面上所有用到 ssl 的地方了
|
![]() |
22
realpg PRO 我有一台专门的证书签发服务器 因为域名太多了(2 万多个)
其中一个举例: acme.sh --issue --server google --keylength ec-384 --dns dns_ali88 --fullchain-file /etc/ssl/xy-ali-all/wildcard.ecc.crt --key-file /etc/ssl/xy-ali-all/wildcard.ecc.key --reloadcmd /etc/ssl/post-cert/xy-ali-all.sh -d "****" -d "****" --days 85 xy-ali-all.sh: #!/bin/bash service nginx reload /usr/bin/python /etc/ssl/post-cert/aliyun_upload_ssl_cert.py \ "xy-group3-auto" \ "xy-ali-all" \ "wildcard.ecc.crt" "wildcard.ecc.key" /usr/bin/python /etc/ssl/post-cert/ct-elb-upload.py xygroup3-ecc-auto xy-ali-all wildcard.ecc.crt wildcard.ecc.key >> /etc/ssl/post-cert/ctelb-logs.txt scp -r /etc/ssl/xy-ali-all/* C141WEB:/etc/ssl/xy-ali-all/ scp -r /etc/ssl/xy-ali-all/* XY3M:/etc/ssl/xy-ali-all/ scp -r /etc/ssl/xy-ali-all/* XY5M:/etc/ssl/xy-ali-all/ ssh C141WEB 'service nginx reload' ssh XY3M 'service nginx reload' ssh XY5M 'service nginx reload' |
![]() |
23
gesse 25 天前
```
export MYDOMAIN=<YOUR DOMAIN> # 生成证书 mkdir /etc/ssl/$MYDOMAIN cat <<EOF > /etc/ssl/$MYDOMAIN/reloadcmd.sh #!/bin/bash nginx -s reload EOF chmod +x reloadcmd.sh acme.sh --install-cert -d $MYDOMAIN \ --cert-file /etc/ssl/$MYDOMAIN/cert.pem \ --fullchain-file /etc/ssl/$MYDOMAIN/fullchain.pem \ --key-file /etc/ssl/$MYDOMAIN/privkey.pem \ --ca-file /etc/ssl/$MYDOMAIN/chain.pem \ --reloadcmd /etc/ssl/$MYDOMAIN/reloadcmd.sh ``` 这个时候证书必要文件+reload 文件都在`/etc/ssl/$MYDOMAIN`目录下,需要 reload 什么软件、给哪个软件重新加载配置直接修改里面的 reloadcmd.sh 文件就行 |