Настройка обратного прокси с использованием nginx для веб-приложения, работающего на node.js + mongodb + basi c Html и CSS в Docker => Не работает - PullRequest
0 голосов
/ 04 августа 2020

Я хочу использовать обратный прокси-сервер для обслуживания моего веб-сайта на publi c IP-адресе. Но когда я получаю доступ к адресу, я получаю только страницу по умолчанию nginx. Вот файл docker -compose.yml:

version: "3"
services:
  app:
    container_name: visualization_app
    restart: always
    build: .
    volumes:
      - .:/usr/src/app
    ports:
      - "4000:4000"
    links:
      - database
  database:
    container_name: mongo
    image: mongo
    ports:
      - "27011:27017"
  proxy:
    image: nginx:1.17
    restart: unless-stopped
    ports:
      - "8000:80"
    volumes:
      - ../nginx_conf/default.conf:/etc/nginx/conf.d/default.conf
      - ./public:/srv/www/static
    depends_on:
      - app

Вот мой nginx conf файл:

server{
    listen 80;
    root /srv/www/static;
    location / {
        proxy_pass          http://localhost:4000;
        proxy_set_header    X-Real-IP   $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header    X-Forwarded-Proto http;
        proxy_set_header    Host    $http_host;
        client_max_body_size 17m;
        proxy_http_version  1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header    Connection "upgrade";
    }
}

Вот Dockerfile:

FROM node:latest as build-stage
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app
RUN npm install
COPY . /usr/src/app
CMD ["server.js","store.js"]

Я пытаюсь настроить эту установку уже 3 дня, но ничего не работает. Пожалуйста, любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 04 августа 2020

Ваш прокси-пропуск должен указывать на хост приложения. Попробуйте:

proxy_pass          http://app:4000;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...