下载acme.sh
解压并安装
注意:解压的文件夹为【.acme.sh】
安装
cd .acme.sh
./acme.sh --install -m your_email
记得刷新下,可以看到【.acme.sh】文件夹的account.conf
account.conf 配置 dnspod
export DP_Id=”youkey”
export DP_Key=”youkey”
其中DP_Id 和DP_Key从dnspod账号中心获取
申请证书
./acme.sh --issue --server letsencrypt --dns dns_dp -d test.zhongyuanzhaofang.com --days 2
–server letsencrypt 表示指定证书申请服务器为 Let’s Encrypt,–day 2 表示更新证书的天数,默认值为 60 天,-d xunheapi.zhongyuanzhaofang.com -d test.zhongyuanzhaofang.com 指示两个域名绑定同一个证书
强制更新【–force】
./acme.sh --issue --server letsencrypt --dns dns_dp -d test.zhongyuanzhaofang.com --days 2 --force
nginx配置证书
注意:要用fullchain.cer 代替zhongyuanzhaofang.com.cer, 否则 SSL Labs 的测试会报 Chain issues Incomplete 错误
可以通过https://myssl.com/ 验证SSL的等级
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security “max-age=63072000” always;
ssl_certificate /root/.acme.sh/zhongyuanzhaofang.com_ecc/fullchain.cer;
ssl_certificate_key /root/.acme.sh/zhongyuanzhaofang.com_ecc/zhongyuanzhaofang.com.key;
配置nginx每天重启
crontab -e
crontab -e 编辑定时任务
按【i】进入输入模式,增加以下:
23 7 * * * /opt/nginx-1.20.1/sbin/nginx -s reload
每天 7点23分 重启nginx
按【Esc】并输入【:wq】 退出即可
看下是否配置成功,可以先配置5分钟运行一次
*/5 * * * * /opt/nginx-1.20.1/sbin/nginx -s reload
然后通过以下命令监控
tail -f access.log error.log
如果有日志输出就可以代表运行正确
参考文档
转载请注明:二十画生 » 【SSL证书】使用 acme.sh 给 Nginx 安装 Let’s Encrypt 提供的免费 SSL 证书,并且自动更新证书