acme.sh申请Let‘s encrypt泛域名证书Docker化部署

一:手动安装acme.sh

本次测试系统为:Ubuntu16.04

curl https://get.acme.sh | sh
# 也可以使用wget方式:wget -O - https://get.acme.sh | sh
source ~/.bashrc

然后可以执行下面的命令获取 acme.sh 更新,并设置之后都自动更新 acme.sh 脚本

acme.sh --upgrade --auto-upgrade

二:申请证书

使用acme.sh有三种申请方法

  1. 使用HTTP校验方式申请证书
  2. 使用DNS手动校验方式申请证书
  3. 使用DNSAPI校验方式申请证书

2.1 DNSAPI申请方式

github上的How to use DNS API
下面以godaddy域名为例申请泛域名证书,方式需要先获取godaddy账号的API信息,获取地址
Docker部署acme.sh申请Let's encrypt泛域名证书
申请完成后记录下Key与Secret,然后在命令行导入key与secret

export GD_Key="xxxxxxxxxxxxxxxxxxxxxxx"
export GD_Secret="xxxxxxxxxxxxxxxxxxxx"
# 上面的信息会保存在 .acme.sh/account.conf配置文件中
# 注意:GD_Key, GD_Secret根据域名商的不同而不一样,具体见github

导入完成后开始申请域名证书:

acme.sh --issue --dns dns_gd -d example.com -d '*.example.com'  # dns_gd这个参数根据域名商不同会不一样
...............................................................
# 该命令执行完成后,会显示证书所在的路径
# 证书保存路径:~/.acme.sh

nginx的配置:

server {
   
        listen 443;
        server_name  task.example.com;
        root   /wwwroot/task/front-web;
        access_log  logs/task.access.log  main;
        error_log  logs/task.error.log  error;
        # 修改下面两行代码后面的证书路径即可
        ssl_certificate /home/ubuntu/.acme.sh/example.com/fullchain.cer;
        ssl_certificate_key /home/ubuntu/.acme.sh/example.com/example.com.key;
        location / {
   
            index  index.html index.htm;
        }
        ............................
}
server {
   
        listen 80;
        server_name task.inve.one;
        if ($host = task.inve.one) {
   
                return 301 https://$host$request_uri;
        }
}

2.2 DNS手动校验方式

通配符证书,英文 Wildcard Certificate 国内黑话叫做野卡&#x

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值