Lets-Encrypt

Let’s Encrypt Certbot:如何使用 HTTPS 進行伺服器驗證

  • May 4, 2020

使用 Let’s Encrypt Certbot 時,Let’s Encrypt 伺服器向 Web 伺服器上的臨時文件發出 HTTP 請求,以驗證請求的域是否解析到執行 certbot 的伺服器。

但是,我的提供商在其防火牆中阻止了埠 80,並且不會打開它,甚至暫時也不會。我也不能使用 DNS 驗證,因為我無法編輯 DNS 記錄。

(如何)我可以通過 https(Apache 使用自簽名證書在埠 443 上偵聽)而不是通過 http 使用 Let’s Encrypt 驗證過程嗎?

Letsencrypt 建議保持埠 80 開放:

允許埠 80 不會在您的伺服器上引入更大的攻擊面,因為埠 80 上的請求通常由在埠 443 上執行的相同軟體提供服務。

但是他們涵蓋了這種情況:

不幸的是,您可能無法控制是否為您的站點阻止埠 80。一些(主要是住宅)ISP 出於各種原因阻止了埠 80。如果您的 ISP 這樣做但您仍想從 Let’s Encrypt 獲取證書,您有兩種選擇:您可以使用 DNS-01 質詢,或者您可以使用支持 TLS-ALPN-01 質詢的客戶端之一(在埠 443 )。

所以推薦的方法是使用tls-alpn-challenge

引用自:https://serverfault.com/questions/1015642