【问题标题】:Pointing multiple domains to one virtual host with nginx and jwilder/docker-gen使用 nginx 和 jwilder/docker-gen 将多个域指向一个虚拟主机
【发布时间】:2021-04-23 10:58:53
【问题描述】:

我是使用 nginx 的新手,我不确定应该用什么解决方案来解决这个问题。

我想让多个域指向 nginx 中的一个虚拟主机。 因此,例如:域example.one.comexample.two.com 将指向虚拟主机hub.site.com

我将 nginx 和 nginx-gen (jwilder/docker-gen) 作为 Docker 容器运行。因此,nginx 的配置设置是根据其他 Docker 容器的运行命令中指定的参数定义的。例如:

docker run -d \
  --restart=unless-stopped \
  --name hub \
  --network local \
  -e VIRTUAL_HOST=hub.site.com \
  -e VIRTUAL_PORT=3000 \
  -e LETSENCRYPT_HOST=hub.site.com \
  -e LETSENCRYPT_EMAIL=info@site.com \
  -e FRONTEND='https://hub.site.com/' \
  site/hub

在这里,带有-e 标志的所有内容都会被识别并实施到 nginx 配置中。

如果有办法通过此运行命令指定多个域以指向 hub.site.com,它将解决我的问题,同时仍使用当前流程来定义 nginx 配置的设置。

我知道的唯一其他解决方案是直接编辑 nginx 配置并使用 this thread 中的方法。虽然这会违背我当前定义 nginx 配置设置的流程。

【问题讨论】:

    标签: docker nginx virtualhost docker-gen


    【解决方案1】:

    jwilder/docker-gen 为jwilder/nginx-proxy 生成 docker-compose.yml 在文件中说:

    多个主机 如果您需要为一个容器支持多个虚拟主机,您可以用逗号分隔每个条目。例如,foo.bar.com,baz.bar.com,bar.com 和每个主机都将设置相同。

    因此,您可以通过用逗号分隔多个域来将多个域添加到单个主机:

    ...
    -e VIRTUAL_HOST=example.one.com,example.two.com
    ...
    

    【讨论】:

      猜你喜欢
      • 2013-10-20
      • 2010-10-07
      • 2020-05-03
      • 2014-11-04
      • 2011-08-02
      • 2011-02-22
      • 2017-09-25
      • 2020-12-01
      • 2011-08-17
      相关资源
      最近更新 更多