项目地址:https://github.com/slobys/SSL-Renewal
脚本功能
- 一键申请SSL证书
- 关闭防火墙/放行端口(80、443 端口)
- 选择SSL证书颁发机构(增加申请成功率)
- 证书自动续期
- 申请失败,删除残留文件,然后重新申请
一键脚本
bash <(curl -fsSL https://raw.githubusercontent.com/slobys/SSL-Renewal/main/acme.sh)
注意事项
- 请不要用同一个域名频繁申请,这样容易出错
- 如果遇到出错可以参考以下解决办法
1、换个域名申请
2、换个时间再申请
使用教程
1. 上述脚本执行后,会在root家园目录下产生如下文件:
[root@ecs-petck ~]# ll total 80 -rwxr-xr-x. 1 root root 4350 Dec 10 20:57 acme_3.0.sh -rw-r--r--. 1 root root 1295 Dec 10 20:57 acme.sh drwxr-xr-x. 3 root root 25 Dec 7 21:48 cert
2.【前置条件】在DNS中,解析好域名的A记录
(非常重要)
3. 执行脚本,打开申请证书对话框
[root@ecs-petck ~]# ./acme_3.0.sh
============== SSL证书管理菜单 ============== 1)申请 SSL 证书 2)重置环境(清除申请记录并重新部署) 3)退出 ============================================ 请输入选项(1-3):
按提示输入对应的选项值
请输入选项(1-3): 1 请输入域名: xyz.hqsj.cc 请输入电子邮件地址: alb8642@163.com
选择颁发机构:Let's Encrypt
请选择证书颁发机构(CA): 1)Let's Encrypt 2)Buypass 3)ZeroSSL 输入选项(1-3): 1
然后顺利的话,就会在root根目录生成对应的密钥对!
4. 在Nginx网站中,配置刚生成的证书
listen 443 ssl; listen 443 quic; #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则 #error_page 404/404.html; ssl_certificate /root/xyz.hqsj.cc.crt; ssl_certificate_key /root/xyz.hqsj.cc.key; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; add_header Strict-Transport-Security "max-age=31536000"; add_header Alt-Svc 'quic=":443"; h3=":443"; h3-29=":443"; h3-27=":443";h3-25=":443"; h3-T050=":443"; h3-Q050=":443";h3-Q049=":443";h3-Q048=":443"; h3-Q046=":443"; h3-Q043=":443"'; error_page 497 https://$host$request_uri; #SSL-END