@rocket_b

Как перенаправить внутри proxy_pass в nginx?

для https://examle.com/ в nginx добавлен location:

location /test/ {
proxy_pass proxy:5601;
proxy_redirect off;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
}

При переходе по https://examle.com/test proxy_pass срабатывает, внутри proxy:5601 срабатывает перенаправление на proxy:5601/app/page и в браузере видим ссылку https://examle.com/app/page/, соответственно nginx не знает этого расположения, как правильно задать location, чтобы перенаправления внутри proxy_pass отрабатывали?
  • Вопрос задан
  • 207 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Nc_Soft
https://nginx.org/ru/docs/http/ngx_http_proxy_modu...

Если внутри проксируемого location с помощью директивы rewrite изменяется URI, и именно с этой конфигурацией будет обрабатываться запрос (break):
location /name/ {
    rewrite    /name/([^/]+) /users?name=$1 break;
    proxy_pass http://127.0.0.1;
}

В этом случае URI, указанный в директиве, игнорируется, и на сервер передаётся изменённый URI запроса целиком.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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