Nginx 学习笔记(九)申请Let's Encrypt通配符HTTPS证书
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
执行完这一步之后,会下载一些需要的依赖,稍等片刻之后,会提示输入邮箱,随便输入都行【该邮箱用于安全提醒以及续期提醒】
!!!注意,这里不要继续往下了申请通配符证书是要经过DNS认证的,按照提示,前往域名后台添加对应的DNS TXT记录。我这里使用的是阿里云域名解析
这里我们添加一下具体的DNS TXT 记录
DNS解析 TXT
_acme-challenge.tinywan.top 记录值为:umZa0-9MbnINQPzWiH75Ji5Rdg9qTds16Mc9qr_sFMc
添加之后,不要心急着按回车,先执行 dig _acme-challenge.tinywan.top txt 确认解析记录是否生效,生效之后再回去按回车确认
上面表示解析生效,按回车确认继续
出现以上界面说明配置成功,配置证书存放在 /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