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网站并登录, 然后添加域名, 如下图

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

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

image.png

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

  1. 重载nginx命令
# docker 部署的nginx重载方式
docker exec -it nginx service nginx force-reload
# 直接部署的重载
nginx -s reload
  1. 安装证书
./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 等字样则表示可以自动续期

上一篇下一篇

猜你喜欢

热点阅读