gpt4 book ai didi

docker - 容器优化操作系统 (Docker) 上的 SSL 证书

转载 作者:行者123 更新时间:2023-12-02 18:17:52 25 4
gpt4 key购买 nike

问题:当端口 80/443 只能分配给 Container Opimized OS 中的一台服务器时,您如何让网络流量通过 certbot 服务器运行,然后到达您的应用程序?

上下文:常规 certbot 安装不适用于 Google Cloud 的“Container Optimzed OS”(它阻止写入访问,因此无法执行任何文件)。因此,我使用了来自 letsencrypt 的 cerbot docker 容器,但它需要打开端口 80/443,我当前的 Web 应用程序正在使用该端口。

以前,我会运行 certbot,然后停止旧实例上的服务器,认证将保留 90 天。然而,运行 certbot docker 容器仅在其在端口 80/443 上运行时提供 SSL,但一旦停止,SSL 证书将不再有效。

用于 letsencrypt 的 Docker:https://hub.docker.com/r/linuxserver/letsencrypt

我想在端口 80/443 上托管 Docker 网络应用程序:https://hub.docker.com/r/lbjay/canvas-docker

Google 容器优化实例信息:https://cloud.google.com/container-optimized-os/docs/concepts/features-and-benefits

最佳答案

这是在 certbot/dns-google 中通过 Cloud DNS 对 Certbot 使用 DNS 验证的解决方案容器图像。它将使用服务帐户凭证来运行 certbot-dns-google可执行容器中的插件;这将在主机上的绑定(bind)安装位置配置 LetsEncrypt 证书。

您首先需要使用 service account credentials 向您的实例添加一个文件对于DNS Administrator role - 有关更多上下文,请参阅下面的注释。在下面的示例命令中,凭据文件是 dns-svc-account.json(位于调用命令的工作目录中)。

docker run --rm \
-v /etc/letsencrypt:/etc/letsencrypt:rw \
-v ${PWD}/dns-svc-acct.json:/var/dns-svc-acct.json \
certbot/dns-google certonly \
--dns-google \
--dns-google-credentials /var/dns-svc-acct.json \
--dns-google-propagation-seconds 90 \
--agree-tos -m team@site.com --non-interactive \
-d site.com

关于标志的一些注意事项:

  • -v config-dir-mount

    This mounts the configuration directory so that the files Certbot creates in the container propagate in the host's filesystem as well.

  • -v credentials-file-mount

    This mounts the service account credentials from the host on the container.

  • --dns-google-credentials path-to-credentials

    The container will use the mounted service account credentials for administering changes in Cloud DNS for validation with the ACME server (involves creating and removing a DNS TXT record).

  • --dns-google-propagation-seconds n | 可选,默认:60

  • --agree-tos, -m email, --non -互动 | 可选

    These can be helpful for running the container non-interactively; they're particularly useful when user interaction might not be possible (e.g. continuous delivery).

  • Certbot command-line reference

关于docker - 容器优化操作系统 (Docker) 上的 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62493334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com