nginx使用acme.sh开源项目配置https证书
2019-05-17 本文已影响0人
Bury丶冬天
1. 安装acme.sh
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install
2. 配置acme自动进行更新
# 进入目录
cd ~/.acme.sh/
# 执行自动升级命令
./acme.sh --upgrade --auto-upgrade
3. 配置dnspod
注册dnspod网站并登录, 然后添加域名, 如下图

如果状态未显示正常则需要在域名申请商的管理页面将dns服务器修改成dnspod的服务器,如下图(腾讯云申请的域名):

dnspod地址:
f1g1ns1.dnspod.net
f1g1ns2.dnspod.net
然后点击dnspod网站右上角的头像在弹出的菜单中选择秘钥管理, 生成token, 名称随便输, 生成后如下图

4. 配置环境变量
vim /etc/profile
在最后添加下面两行(id和key需要更换成自己的)
export DP_Id="1234"
export DP_Key="asdjiorqoiurqqweuiqwe123123"
重载
source /etc/profile
5. 生成证书
./acme.sh --issue --dns dns_dp -d *.kaibo123.com
6. 安装证书
安装前需要nginx配置好证书路径,附上我的nginx.conf中证书配置
docker中nginx跟主机文件目录映射关系 -v /docker/nginx/ssl:/etc/nginx/ssl
ssl_certificate /etc/nginx/ssl/fullchain.cer;
ssl_certificate_key /etc/nginx/ssl/*.kaibo123.com.key;
安装证书并重载nginx
- 重载nginx命令
# docker 部署的nginx重载方式
docker exec -it nginx service nginx force-reload
# 直接部署的重载
nginx -s reload
- 安装证书
./acme.sh --installcert -d *.kaibo123.com \
--key-file /docker/nginx/ssl/*.kaibo123.com.key \
--fullchain-file /docker/nginx/ssl/fullchain.cer \
--reloadcmd "docker exec -it nginx service nginx force-reload"
7. 检查是否可以自动续期
执行
crontab -l
如果列表中有 acme.sh 等字样则表示可以自动续期