У меня есть два 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
Редактировать: если одно или оба приложения работают на локальном хосте, это не проблема и работает нормально