你带酒来,我有故事

【SSL证书】使用 acme.sh 给 Nginx 安装 Let’s Encrypt 提供的免费 SSL 证书,并且自动更新证书

下载acme.sh

https://github.com/acmesh-official/acme.sh
【SSL证书】使用 acme.sh 给 Nginx 安装 Let's Encrypt 提供的免费 SSL 证书,并且自动更新证书

 解压并安装

注意:解压的文件夹为【.acme.sh】
安装
cd .acme.sh
./acme.sh --install -m your_email
记得刷新下,可以看到【.acme.sh】文件夹的account.conf
【SSL证书】使用 acme.sh 给 Nginx 安装 Let's Encrypt 提供的免费 SSL 证书,并且自动更新证书
account.conf 配置 dnspod
【SSL证书】使用 acme.sh 给 Nginx 安装 Let's Encrypt 提供的免费 SSL 证书,并且自动更新证书
export DP_Id=”youkey”
export DP_Key=”youkey”
其中DP_Id 和DP_Key从dnspod账号中心获取
【SSL证书】使用 acme.sh 给 Nginx 安装 Let's Encrypt 提供的免费 SSL 证书,并且自动更新证书

申请证书

./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 指示两个域名绑定同一个证书
【SSL证书】使用 acme.sh 给 Nginx 安装 Let's Encrypt 提供的免费 SSL 证书,并且自动更新证书

强制更新【–force】

./acme.sh --issue --server letsencrypt --dns dns_dp -d test.zhongyuanzhaofang.com --days 2 --force
nginx配置证书
【SSL证书】使用 acme.sh 给 Nginx 安装 Let's Encrypt 提供的免费 SSL 证书,并且自动更新证书
注意:要用fullchain.cer 代替zhongyuanzhaofang.com.cer, 否则 SSL Labs 的测试会报 Chain issues Incomplete 错误
【SSL证书】使用 acme.sh 给 Nginx 安装 Let's Encrypt 提供的免费 SSL 证书,并且自动更新证书
【SSL证书】使用 acme.sh 给 Nginx 安装 Let's Encrypt 提供的免费 SSL 证书,并且自动更新证书
可以通过https://myssl.com/ 验证SSL的等级
【SSL证书】使用 acme.sh 给 Nginx 安装 Let's Encrypt 提供的免费 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 证书,并且自动更新证书
参考文档
https://github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_dp
https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E
https://blog.csdn.net/apple_csdn/article/details/134964435

转载请注明:二十画生 » 【SSL证书】使用 acme.sh 给 Nginx 安装 Let’s Encrypt 提供的免费 SSL 证书,并且自动更新证书

喜欢 (1)
发表我的评论
取消评论

表情
粤ICP备17031696号-1