Let's Encrypt 宣布 ACME v2 正式支持通配符证书,并将继续清除 Web 上采用 HTTPS 的障碍,让每个网站轻松获取管理证书。消息一出,马上就有热心用户分享出了 Let's Encrypt 通配符 HTTPS 证书的申请方式,下面我们一起来学习下吧!

配置环境:

  操作系统:Ubuntu 16.04.2 LTS

  配置域名:tinywan.top

具体步骤

1、获取certbot-auto

# 下载 
wget https://dl.eff.org/certbot-auto 
 
# 设为可执行权限 
chmod u+x certbot-auto

2、开始申请证书  

sudo ./certbot-auto --server https://acme-v02.api.letsencrypt.org/directory -d "*.tinywan.top" --manual --preferred-challenges dns-01 certonly

执行完这一步之后,会下载一些需要的依赖,稍等片刻之后,会提示输入邮箱,随便输入都行【该邮箱用于安全提醒以及续期提醒】

Nginx 学习笔记(九)申请Let

!!!注意,这里不要继续往下了申请通配符证书是要经过DNS认证的,按照提示,前往域名后台添加对应的DNS TXT记录。我这里使用的是阿里云域名解析

这里我们添加一下具体的DNS TXT 记录

Nginx 学习笔记(九)申请Let

DNS解析 TXT

_acme-challenge.tinywan.top 记录值为:umZa0-9MbnINQPzWiH75Ji5Rdg9qTds16Mc9qr_sFMc

添加之后,不要心急着按回车,先执行 dig _acme-challenge.tinywan.top txt 确认解析记录是否生效,生效之后再回去按回车确认  

 Nginx 学习笔记(九)申请Let

上面表示解析生效,按回车确认继续

Nginx 学习笔记(九)申请Let

出现以上界面说明配置成功,配置证书存放在 /etc/letsencrypt/live/tinywan.top/ 里面了

要续期的话,执行 certbot-auto renew 就可以了

Nginx 虚拟主机的配置DEMO

server {
    server_name www.tinywan.top;
    listen 443 ssl;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/tinywan.top/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/tinywan.top/privkey.pem;

    location / {
      proxy_pass http://www.baidu.com;
    }
}

跟简便的方法:https://github.com/Neilpang/acme.sh

 警告解决办法;

nginx: [warn] "ssl_stapling" ignored, issuer certificate not found for certificate "/.acme.sh/tinywan.com/tinywan.com.cer"

nginx.conf 添加以下选项

ssl_trusted_certificate .acme.sh/tinywan.com/fullchain.cer;

  

  

 

参考:https://my.oschina.net/kimver/blog/1634575?nocache=1521084660106