基于 NginX 的 Docker,适用于一个应用程序和多个域

基于 NginX 的 Docker,适用于一个应用程序和多个域

我使用带有 nginx 镜像的 docker 来运行我的网站。

我有以下配置:

docker-compose.yml

version: '7.1'

services:
  #
  # Conflicts with any local HTTP server.
  # If you have a local Nginx, you must stop it.
  #
  nginx:
    image: nginx:1.12.0-alpine
    container_name: nginx
    ports:
      - "80:80"
    volumes:
      - ./files/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
      - ./files/nginx/sites-enabled:/etc/nginx/sites-enabled:ro
    network_mode: bridge

站点一.conf

upstream site-one.local {
  server host.docker.internal:9293 fail_timeout=0;
}

server {
  listen 80;
  server_name site-one.local *.site-one.local;

  client_max_body_size 50M;
  error_page 500 502 503 504 /50x.html;

  location = /50x.html {
    root html;
  }

  try_files $uri/index.html $uri @site-one.local;
  location @site-one.local {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://site-one.local;
  }
}

我在 Web 应用程序中有选项卡,单击时会使用新域名打开一个页面site-two.local/my-page并返回错误:

此站点无法为site-two.local拒绝连接。

site-two.local如何为同一个应用程序添加额外的域?

答案1

如何为同一个应用程序添加额外的域名site-two.local?

更改server_name配置应该可以工作...但我不确定这个错误是由 nginx 还是您的应用程序引起的。

  server_name site-one.local *.site-one.local site-two.local *.site-two.local;

server {...也许为 site-two.local创建另一个块也是可行的。

相关内容