1

docker で実行しているプロジェクトがあります。Nginx リバース プロキシを使用してアプリを実行しています。すべて正常に動作しますが、nginx で server_name をパーソナライズしようとしましたが、方法がわかりませんでした。

Docker yml ファイル docker で /etc/hosts にサーバー名を追加しました

version: "3"

services:
  nginx:
    container_name: nginx
    volumes:
      - ./nginx/logs/nginx:/var/log/nginx
    build:
      context: ./nginx
      dockerfile: ./Dockerfile
    depends_on:
      - menu-app
    ports:
      - "80:80"
      - "433:433"
    extra_hosts:
      - "www.qr-menu.loc:172.18.0.100"
      - "www.qr-menu.loc:127.0.0.1"
    networks:
      default:
        ipv4_address: 172.18.0.100

  menu-app:
    image: menu-app
    container_name: menu-app
    volumes:
      - './menu-app/config:/var/www/config'
      - './menu-app/core:/var/www/core'
      - './menu-app/ecosystem.json:/var/www/ecosystem.json'
      - './menu-app/tsconfig.json:/var/www/tsconfig.json'
      - './menu-app/tsconfig-build.json:/var/www/tsconfig-build.json'
      - "./menu-app/src:/var/www/src"
      - "./menu-app/package.json:/var/www/package.json"
    build:
      context: .
      dockerfile: menu-app/.docker/Dockerfile
    tmpfs:
      - /var/www/dist
    ports:
      - "3000:3000"
    extra_hosts:
      - "www.qr-menu.loc:127.0.0.1"
      - "www.qr-menu.loc:172.18.0.100"
networks:
  default:
    ipam:
      driver: default
      config:
        - subnet: 172.18.0.0/24

そして、私はNginx confを持っています

server_names_hash_bucket_size 1024;

upstream local_pwa {
    server menu-app:3000;
    keepalive 8;
}
server {
            listen 80 default_server;
            listen [::]:80 default_server;
            server_name www.qr-menu.loc 172.18.0.100;
            proxy_buffer_size 128k;
            proxy_buffers 4 256k;
            proxy_busy_buffers_size 256k;
            location / {
                proxy_set_header    X-Forwarded-For $remote_addr;
                proxy_pass http://local_pwa/;
            }
        }

残念ながら、アプリはwww.qr-menu.locではなく localhost で実行されます

Nginx で server_name を変更する方法がわかりませんでした。

4

1 に答える 1