У меня есть два веб-приложения, работающие на сервере докеров-контейнеров через docker-compose, и все работает отлично. Я пытаюсь использовать nginx в качестве обратного прокси-сервера для пересылки запроса клиента в другое веб-приложение на основе шаблона URL. (Я хочу развернуть два приложения в одном домене / сервере). Proxy_pass работает только для корневого пути, определенного в конфигурации nginx, поскольку в каждом приложении определены маршруты, любое взаимодействие с перенаправлением / отправкой формы не будет работать с nginx proxy_pass и будет отображать 404.
Вот мои текущие настройки для конфигурации nginx:
server {
listen 80;
server_name 0.0.0.0;
location /app1/ {
proxy_pass http://app1:8000/;
}
location /app2/ {
proxy_pass http://app2:8080/;
}
}
app1 и app2 работают в контейнерах. В идеале я хочу что-то вроде этого:
http://serverdomain/app1/.... -> http://app1:8000/....
http://serverdomain/app2/.... -> http://app2:8080/....
Каждое приложение имеет логику и маршрут для конкретного приложения, который обрабатывается индивидуально, например, я также ожидаю, что в app1 маршрут / upload должен быть перенаправлен на http://app1:8000/upload, но на самом деле он направляет меня на http://serverdomain/upload.
Я исследовал это, но ни один из методов не работает. Очень ценю вашу помощь!