概述
本指南描述如何在以下文檔中所述的官方 Let's Encrypt 客戶端中使用 Webroot 方法進(jìn)行驗(yàn)證的其他詳細(xì)信息:https://letsencrypt.readthedocs.org/en/latest/using.html#webroot
注意,Let's Encrypt 客戶端用于 ACME 身份驗(yàn)證的默認(rèn)方式使用 DVSNI 方法。對(duì)于已啟用 Cloudflare 的域,這將失敗,因?yàn)槲曳浇K止了 SSL (TLS),并且 ACME 服務(wù)器不會(huì)看到客戶端在源站呈現(xiàn)的證書。啟用 Cloudflare 時(shí),使用備用 ACME 驗(yàn)證方法(如 DNS 或 HTTP)將能夠驗(yàn)證成功。
HTTP 驗(yàn)證
如果您是第一次為已在 Cloudflare 上激活的站點(diǎn)配置 Let's Encrypt,則使用 webroot 方法進(jìn)行驗(yàn)證,這是成功驗(yàn)證并獲取證書和私鑰對(duì)所需的步驟。
下載 Let’s Encrypt 客戶端并切換到下載目錄:
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt/
運(yùn)行可實(shí)現(xiàn)自動(dòng)安裝的腳本:
./letsencrypt-auto
通過將 letsencrypt 客戶端與 certonly 命令和 --webroot 標(biāo)志一同使用,您能夠使用 HTTP 驗(yàn)證來驗(yàn)證并獲取證書/密鑰對(duì) 。示例命令:
/root/.local/share/letsencrypt/bin/letsencrypt certonly --webroot --webroot-path /usr/share/nginx/html/ --renew-by-default --email email@host.tld --text --agree-tos -d example.tld -d www.example.tld
其中
--webroot-path
是您站點(diǎn)所在服務(wù)器上的目錄(該示例中使用了 nginx)
--renew-by-default
在域名為先前獲得的證書的超集時(shí)選擇默認(rèn)續(xù)訂
是用于注冊(cè)和恢復(fù)聯(lián)系方式的電子郵件。
--text
顯示文本輸出
--agree-tos
同意 Let’s Encrypt 的訂戶協(xié)議
-d
指定要添加到 SAN 的主機(jī)名。
成功完成此驗(yàn)證方法將顯示類似于以下內(nèi)容的文本:
恭喜您!您的證書和鏈已保存在 /etc/letsencrypt/live/example.tld/fullchain.pem 中。 您的證書將于 2016-03-03 到期。要在將來獲得新版本的證書, 只需再次運(yùn)行 Let's Encrypt 即可。
注意,證書和密鑰都將保存到/etc/letsencrypt/live/example.tld/。獲得這兩者后,您將需要手動(dòng)更新虛擬主機(jī),以使用此密鑰/證書對(duì)。
務(wù)必在 Cloudflare 儀表板中查看域的page rules,以及確認(rèn)任何方面都不會(huì)導(dǎo)致對(duì)驗(yàn)證 URL 的請(qǐng)求被重定向或只能通過 HTTPS 訪問。
續(xù)訂
當(dāng)需要續(xù)訂時(shí),使用 letsencrypt renew命令應(yīng)可使證書成功續(xù)訂,無需進(jìn)行任何 Cloudflare 配置更改,前提是:
letsencrypt 客戶端用于續(xù)訂的 .conf 文件指定了authenticator = webroot。
驗(yàn)證 URL 可通過 HTTP 訪問。
沒有為該 URL 應(yīng)用重定向。
或者,重復(fù)上述步驟將重新頒發(fā)新證書。