CloudFlare DNS 申請 Let’s Encrypt Wildcard SSL 憑證

栏目: 编程工具 · 发布时间: 5年前

内容简介:以前我都用官方提供的 certbot 工具,後來也嘗試用 PHP 第三方 Library 整合了可以自動申請 Let’s Encrypt SSL 憑證的 Docker (ssl由於 Let’s Encrypt Wildcard SSL 需要透過更改 DNS Text Record 來驗證網域所有權,因此我們先登入 CloudFlare 取得 API Key,好讓 acme.sh 可以自動更新 DNS 資訊來通過驗證。登入 CloudFlare 後險選擇右上角的 Profile,如下:

佛系 Let’s Encrypt Wildcard SSL 憑證

以前我都用官方提供的 certbot 工具,後來也嘗試用 PHP 第三方 Library 整合了可以自動申請 Let’s Encrypt SSL 憑證的 Docker (ssl -proxy )。今年 2018 開始佛系 Let’s Encrypt 有提供 Wildcard SSL 憑證,但是目前只有透過 DNS 設定 Text Record 來驗證網域,每三個月都要重新驗證來換發新的憑證(renew),如果沒有自動化一點也不想嘗試。最近想要試用看看 Wildcard SSL,發現已經很多人實做了整合 CloudFlare 的驗證工具,官方的 certbot 也有 CloudFlare DNS Plugin 可以用。剛好我也是 CloudFlare 的使用者,只要可以自動化那就 OK 囉,我們來看看如何安裝吧。

安裝第三方工具 acme.sh

acme.sh 是一個第三方的 Let’s Encrypt 申請工具,我本來都是用官方提供的 certbot 工具。最近發現這個 工具 申請 Wildcard SSL 也不錯用,順便介紹給大家使用看看。直接線上安裝:

curl https://get.acme.sh | sh

由於 Let’s Encrypt Wildcard SSL 需要透過更改 DNS Text Record 來驗證網域所有權,因此我們先登入 CloudFlare 取得 API Key,好讓 acme.sh 可以自動更新 DNS 資訊來通過驗證。登入 CloudFlare 後險選擇右上角的 Profile,如下:

CloudFlare DNS 申請 Let’s Encrypt Wildcard SSL 憑證

選擇 Global API Key 按下後面的「View」按鈕:

CloudFlare DNS 申請 Let’s Encrypt Wildcard SSL 憑證

接著輸入密碼:

CloudFlare DNS 申請 Let’s Encrypt Wildcard SSL 憑證

顯示個這一串就是 API Key,請非常小心保存,這組 Key 可以做什麼不要問,很恐怖。被惡意盜用會讓你作惡夢的.......

CloudFlare DNS 申請 Let’s Encrypt Wildcard SSL 憑證

先複製起來後關閉,如下:

CloudFlare DNS 申請 Let’s Encrypt Wildcard SSL 憑證

透過 acme.sh 申請 Wildcard SSL 憑證

先透過以下方式設定 acme.sh 驗證需要的 CloudFlare 登入 Email 與剛剛取得的 Key,有了這組 Key 你的 CloudFlare 上面管理的 DNS 都可以進行驗證,如下:

export CF_Key="YOUR_CLOUD_FLARE_API_KEY"
export CF_Email="YOUR_CLOUD_FLARE_LOGIN_EMAIL"

接著我們設定需要驗證的網域到變數中:

DOMAIN=your-domain.com

我習慣憑證與官方 certbot 所產生的資料放在一起,所以先手動建立一下目錄:

mkdir -p /etc/letsencrypt/keys
mkdir -p /etc/letsencrypt/live/${DOMAIN}

然後就可以輸入以下命命開始申請了,整個驗證過程差不多兩分鐘多:

/root/.acme.sh/acme.sh --issue -d "${DOMAIN}" -d "*.${DOMAIN}" --dns dns_cf \
  --key-file /etc/letsencrypt/keys/${DOMAIN}.key \
  --cert-file /etc/letsencrypt/live/${DOMAIN}/cert.pem \
  --fullchain-file /etc/letsencrypt/live/${DOMAIN}/fullchain.pem \
  --ca-file /etc/letsencrypt/live/${DOMAIN}/chain.pem \
  --reloadcmd "service haproxy restart"

記得每三個月 cron 跑一下重新刷新憑證就好,刷新時候透過 --renew 即可,如下:

/root/.acme.sh/acme.sh --renew -d "${DOMAIN}" -d "*.${DOMAIN}" --dns dns_cf

上述 Script 也可以在 Blog 廢文 GitHub 取得, 啊掰~


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JSF第一步

JSF第一步

罗会波 / 清华大学出版社 / 2007-10 / 65.00元

《JSF第一步:JSF+Spring+Hibernate+AJAX编程》讲述JSF是表示层框架的标准,Hibernate是一个比较完善的对象关系映射工具,Spring则提供了一个Web应用的轻量级的解决方案。在开发一个多层的Java EE应用程序时,这些框架可谓是相辅相成、相得益彰,可以称得上是开发轻量级Java EE应用的三剑客。另外,AJAX是一种非常流行的改善用户体验的技术,但目前国内外还没......一起来看看 《JSF第一步》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具