icCE
@icCE
youtube.com/channel/UC66N_jRyZiotlmV95QPBZfA

Как изменить контекс средствами nginx?

Есть backend (upstrim) , в котором увы нельзя изменить как отдавать контекст.

Надо, что бы по location /id/ отрабатывал proxy_pass на этот сервер.
те

location /id/ {

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Proto $scheme;

proxy_pass server/am/uth/;


Проблема вот в чем, что при переходе на другую ссылку после открытие , мы получаем 502 ошибку

url вида /am/uth/resources/7 меняется на id/resources/7 , те uth нет.
Нет обратной трансляции адресов.

proxy_redirect не работает, так как backend не отдает Location в заголовках не завезли.

Что удалось придумать, это sub_filter /am/uth на /id и тогда все работает, но дальше есть /id/admin где уже конечно все ломается.
Если указать правильный путь к файлу картинки или другой статики , то все открывается, именно нет замены url от backend

В общем есть ли варианты решения ?
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 1
alekciy
@alekciy
Вёбных дел мастер
Можно попробывать через map в переменную выцеплять uth/admin/прочее и использовать уже ей для sub_filter.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы