@Xmahopnya

Как развернуть django проект на саб пути nginx?

Есть проект на django собранный в докер контейнер, вместе с nginx это собирается в docker-compose, на айпишнике, на который проброшен порт
Выглядит это так ipaddress:84 в этом случае все работает прекрасно
Нужно чтобы джанго приложение работало на подпути Nginx, который стоит на хост машине и держит основной сайт, к примеру example.com/my_app
Но если делать обычный proxy_pass в хостовом nginx, то все урлы приложения сбиваются, и в них надо хардкодить префикс'my_app', но хотелось бы этого избежать

Вот конфиги:
Nginx на хосте
server {
  server_name example.com;

  location /my_app{
        proxy_pass http://ip_address:84;
  }
}


Nginx, который работает в контейнере и проксирует на контейнер приложения
upstream db {
    server app:8000;
}
server {
    listen 80;
    server_name ip_address;
    location / {
        proxy_pass http://app:8000;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
    }
}


Как лучше поступить я не знаю. Может совсем убрать контейнерный nginx?
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 2
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Почитайте про завершающий слэш в директиве proxy_pass.
Ответ написан
Комментировать
karabanov
@karabanov Куратор тега Docker
Системный администратор
server {
  server_name example.com;

  location ^~ /my_app/ {
        proxy_pass http://ip_address:84/;
  }
}


proxy_pass
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы