【问题标题】:How do I create a SSL certificate my domain including www using docker-nginx-certbot?如何使用 docker-nginx-certbot 创建我的域(包括 www)的 SSL 证书?
【发布时间】:2021-02-27 19:56:26
【问题描述】:

我正在使用 nginx 通过 docker compose 使用 this 容器为网站提供服务。

如果我按照说明操作,容器只会在 nginx .conf 中生成我命名的 SSL 证书

ssl_certificate     /etc/letsencrypt/live/www.devenv.ai/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.devenv.ai/privkey.pem;

但不适用于devenv.ai。如何让容器自动为www.devenv.aidevenv.ai 创建证书?

【问题讨论】:

    标签: docker nginx docker-compose certbot


    【解决方案1】:

    您需要阅读说明how letsencrypt generates the certificate

    一种方法是获取devenv.ai 的通配符证书,但这是系统管理员的问题,超出了stackowerflow 的范围,因此您可以研究超级用户、服务器故障或询问Ubunty。

    如果您将它们视为两个单独的域,那么要获得单独的证书(每个域一个),您需要让您的代理监听您将尝试的两个域上的 HTTPS 端口 (443)获得认证。

    这意味着,您需要:

    1. 将两个名称的 DNS 设置为指向相同的 IP 地址。使用 www.devenv.ai 的别名指向 devenv.ai 将是一个好方法。
    2. nginx 容器中为每个域分别创建2 个服务器配置。使用您指定的容器,最简单的方法是在 conf.d 中有 2 个单独的配置文件。这样,您将在 nginx 上运行 2 个域,您可以决定要么保留它们,要么将其中一个重定向到另一个。

    这可以通过添加配置文件扩展到多个域。

    【讨论】:

      猜你喜欢
      • 2019-08-18
      • 1970-01-01
      • 2020-03-11
      • 2017-08-21
      • 1970-01-01
      • 1970-01-01
      • 2021-05-16
      • 2019-07-06
      • 2020-03-31
      相关资源
      最近更新 更多