하나의 애플리케이션과 여러 도메인을 위한 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

site-one.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;
  }
}

웹 응용 프로그램에 탭이 있고 클릭하면 페이지가 새 도메인 이름으로 열리고 site-two.local/my-page오류가 반환됩니다.

이 사이트는 사이트 2일 수 없습니다. 로컬 연결이 거부되었습니다.

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에 대한 또 다른 블록을 생성하는 것도 효과가 있을 것입니다.

관련 정보