Docker: Хостинг контейнера Nginx. Приложение React не может отправлять запросы к бэкэнд-контейнеру Java. - PullRequest
0 голосов
/ 09 октября 2019

У меня есть два Docker-контейнера:

  • frontend Nginx, который обслуживает мое встроенное приложение React
  • backend Java-приложение, которое предоставляет API через сервер vert.x.

Я хочу, чтобы мой веб-интерфейс отправлял запросы REST на мой сервер следующим образом:

let resp = await fetch('/do-something')

Но это не работает. На вкладке сети Chrome я вижу, что запрос GET http://localhost/do-something не выполнен с 404 (я полагаю, что прокси-сервер здесь не работает, но почему?).

Моя конфигурация Nginx:

server {
  listen 80;

  location /do-something {
    proxy_pass http://backend:8080/do-something;
  }

  location / {
    root /var/www/app;
    index index.html index.htm;
  }
}

Я запускаю свои контейнеры с помощью следующих команд:

  • frontend: запуск docker -p 80:80 - внешний интерфейс my-net
  • backend: запуск docker-p 8080: 8080 --network my-net --name backend -d backend

Редактировать: если одно или оба приложения работают на локальном хосте, это не проблема и работает нормально

...