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