Ssl

容器+子域的 SSL 的 Apache 配置

  • May 5, 2021

一月份,我為兩個子域配置並安裝了 SSL 證書。之後,我將兩個 docker 容器連接到這些子域。

在 SSL 更新過程開始之前,該配置的 SSL 一直在“工作”。然後,驗證者嘗試更新 /.well-known/ 目錄中的密鑰,但由於現在正在安裝容器,它試圖在容器內部查找 /.well-known/ 目錄。

是否有 Docker 命令或 Apache 配置使 SSL certbot 查找主伺服器上的 /.well-known/ 目錄,而不是嘗試在容器內找到它?

我通過斷開容器來解決它,然後手動安裝了 1 年的證書。然後我重新連接了容器。

CPanel 的限制,但它有效。

假設您在主機上使用 Apache 作為反向代理,您可以使用目錄塊將請求重定向到 /.well-known/ 目錄:

<Directory "/var/www/html/.well-known/">
   Require all granted
   Options -Indexes -FollowSymLinks
   AllowOverride All
</ Directory>

然後,您的 acme 客戶端應將挑戰放在主機上的 /var/www/html/.well-known/ 中。Certbot可以自動執行此操作,請在連結頁面上查看您的主機作業系統手冊。

或者,如果您願意更改為 NGINX,我可以推薦使用 docker nginx-proxy和它的acme-companion來進行 Let’s Encrypt/ZeroSSL。這種組合會自動為您的 docker-containers 頒發證書/續訂。

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