Apache 容器+子域的 SSL 配置

Apache 容器+子域的 SSL 配置

一月份我为两个子域名配置并安装了 SSL 证书。之后,我将两个 docker 容器连接到这两个子域名。

在 SSL 更新过程开始之前,该配置的 SSL 一直处于“工作”状态。然后,验证者尝试更新 /.well-known/ 目录中的密钥,但由于现在正在安装容器,因此它尝试在容器内部查找 /.well-known/ 目录。

是否有 Docker 命令或 Apache 配置可以使 SSL certbot 查看主服务器上的 /.well-known/ 目录而不是尝试在容器内找到它?

答案1

假设您在主机上使用 Apache 作为反向代理,您可以使用目录块将请求重定向到 /.well-known/ 目录:

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

然后,您的 acme-client 应该将挑战放在主机上的 /var/www/html/.well-known/ 中。Certbot可以自动执行此操作,请在链接页面上检查主机操作系统手册。

如果你愿意改用 NGINX,我建议你使用 dockernginx-代理它的acme-companion适用于 Let's Encrypt/ZeroSSL。此组合会自动为您的 docker 容器颁发证书/续订证书。

答案2

我通过断开容器解决了这个问题,然后手动安装了一个 1 年证书。然后我重新连接了容器。

CPanel 有限制,但是它可以起作用。

相关内容