我在 docker 容器中运行 Tomcat 8。具体来说,图像tomcat:8-jre8
。我正在尝试安装 Let's Encrypt 的证书,以便让所有与服务器的通信都通过 https 运行。我遇到的问题是,我无法使用证书自动安装工具 certbot 来看服务器在docker中运行。
我曾想过在容器中安装 cerbot 然后运行它,但是没能成功。
如果在这种情况下使用 cerbot 不切实际,任何有关手动安装此证书的帮助都将不胜感激。
答案1
Certbot 需要验证您的域名。您可以在Certbot 用户指南。
你可以这样做
- 手动(通过配置您的 Web 服务器来提供服务www.yourdomain.com/.well-known/acme-challenge/挑战
- 自动地
- 使用现有服务器(Apache、nginx)
- “内置”独立模式。
最有可能的是,您需要添加另一个容器,其中包含 Let's EncryptCertbot 图像。您还需要映射/etc/letsencrypt卷(并与您的 Tomcat 容器共享)。也许要确保文件夹存储在安全的地方。(您不想将证书存储在容器中,因为容器重新启动时它们将被删除。)
你可能还需要计划任务在主机或第三个容器中运行的作业,以触发证书的续订。标准续订命令仅有的当证书有效期剩余≤30天时,更新证书。