Nginx другой сервис на метро - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть 2 Django приложения, работающие на портах 8080 и 8081. Я использую gunicorn и NGINX, чтобы обслуживать их.

В настоящее время к NGINX добавлено только приложение на порт 8080, конфигурация на сайтах с включенной (частично) выглядит так:

location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
}

Теперь мне нужно добавить туда второе приложение, которое находится на порте 8081, но чтобы оно обслуживалось по маршруту /second_app. Итак, я вижу это так:

/           -> 127.0.0.1:8080
/second_app -> 127.0.0.1:8081

Однако, когда я делаю второе местоположение, чтобы оно было /second_app, оно не работает, я думаю, что эти два маршрута конфликтуют, и пока первый путь шире он «потребляет» запрос.

Также я думаю, что стоит упомянуть, что у "8080 app" нет маршрута, начинающегося с /second_app, поэтому он не может конфликтовать с "8081 app".

1 Ответ

0 голосов
/ 23 февраля 2020

Сначала укажите новый сервер c regex в файле и используйте правильный синтаксис блока

 location ^~ /second_app {
            proxy_pass http://127.0.0.1:8081;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
 }
...