LINUX.ORG.RU
решено ФорумAdmin

nginx и proxy_redirect

 ,


0

1

Приветствую! Имеется вот такая задача: требуется при обращение к серверу по location /kek, чтобы nginx через proxy_pass отправлял на 192.168.1.34:8081/lol, при этом главное, чтобы клиент (в данном случае браузер) ничего не знал о location /lol.

Насколько знаю, за данную операцию отвечает proxy_redirect, который заменяет ответ сервера ,указанный в proxy_pass, на location, по которому обращаемся. Вот конфига: server {

listen 80;
server_name proverka.examle.ru;

location /kek/ {
proxy_pass http://192.168.1.34:8081/lol/;
proxy_redirect default;
proxy_read_timeout 120;
proxy_send_timeout 120;
}
}
Данная конфига не отрабатывает, так как все равно вижу в консольке браузера информацию о location /lol/

Дайте пожалуйста совет



Последнее исправление: toroboan (всего исправлений: 1)

Ответ на: комментарий от anonymous

имеется ввиду, что при входе на страницу /kek/ зайти в консоль браузера через F12 (например) в раздел Network, то там отображаются все файлы и все редиректы и файлы, которые подтягиваются с проксируемого сервера и там как раз видно, что proxy_pass отправляет на location lol.

Аналогично,если запросить страницу через curl

toroboan
() автор топика
Ответ на: комментарий от toroboan

Что за бред? Покажи

curl -I proverka.examle.ru/kek/

anonymous
()
Ответ на: комментарий от anonymous

он будет работать, но у меня ситуация в том,что сервер,стоящий за nginx, в ответе указывается location /lol , и в следствии чего клиент получает location /lol и пытается туда зайти.

toroboan
() автор топика
Ответ на: комментарий от anonymous

curl -I proverka.examle.ru/kek/
HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
Date: Wed, 13 Mar 2019 08:28:21 GMT
Content-Type: text/html;charset=UTF-8
Content-Length: 12168
Connection: keep-alive
Path=/lol
Content-Language: ru-RU

toroboan
() автор топика
Ответ на: комментарий от toroboan

он будет работать, но у меня ситуация в том,что сервер,стоящий за nginx, в ответе указывается location /lol , и в следствии чего клиент получает location /lol и пытается туда зайти.

Тогда научи сервер за нгинксом отвечать с правильным location.

Либо вот, но это не рекомендуется.

Deleted
()
Ответ на: комментарий от toroboan

Здесь же нет редиректа через Location, поэтому proxy_redirect не поможет.

С Tomcat я не работал, но полагаю что тебе надо вырезать установку куки с path (писал выше, как это сделать), и Path=/lol (не знаю, томкат это отдает или твое приложение).

anonymous
()
Ответ на: комментарий от toroboan

В заголовках редиректа нет, как видишь. Может у тебя там js какой нибудь редирект делает, и поэтому такое поведение?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.