在內部 DNS 伺服器上取得內部伺服器的 Let's Encrypt SSL 憑證

在內部 DNS 伺服器上取得內部伺服器的 Let's Encrypt SSL 憑證

我目前經營一個組織,我們使用一個內部網站,該網站託管在我們的網路中,該網站運行Gitea伺服器以便我們能夠存取重要文檔,而無需依賴第三方服務。

我已經使用設定了 DNS 伺服器馬拉DNS路由到正確的 IP 位址。我們也在該伺服器上運行其他應用程式(例如內部 REST API),但目前一直依賴自簽名憑證。我不喜歡某些瀏覽器和庫的方式,例如庫捲曲處理這些類型的證書,因為我開始發現修復這些錯誤很無聊且非常痛苦。

我想使用以下方式為我的伺服器取得證書讓我們加密服務;由於CA在瀏覽器中得到了很好的認可,而且每次更新證書時都不必支付費用。

我該如何獲得這個?

答案1

Let's Encrypt 旨在用於面向公眾的服務,並且不支援全球互聯網無法訪問的完全內部名稱。

取得 LE 憑證的第一個要求是您想要憑證的主機名稱必須存在於全域 DNS 中,或能夠在全域 DNS 中建立。

滿足後,您有兩種選擇挑戰:HTTP-01 和 DNS-01。

HTTP-01 透過使用 IPv6 或 IPv4 連接到連接埠 80 上該名稱的 HTTP 伺服器來驗證您對主機名稱的控制。顯然,該名稱必須在全球 DNS 中具有適當的位址記錄。

DNS-01 可讓您透過在全域 DNS 中設定特定 TXT 記錄來驗證主機名稱。通常,這是使用自動化的來自支援的 DNS 提供者的 API,但如果您的全域 DNS 記錄不是由受支援的提供者託管,也可以手動完成。

您也許可以解決這些限制並設法獲得證書,但這取決於您未提供的環境的許多詳細資訊。你可以考慮一下,也許你會找到一種方法來做到這一點。

相關內容