Назад | Перейти на главную страницу

ProxyPassReverse не устанавливает заголовок ответа

У меня есть сервер apache, который находится между сервером Jenkins, работающим на 127.0.0.1:8090 и клиентский браузер.

я даю http://123.45.67.89/jenkins в браузере и ожидая, что Дженкинс будет перенаправлен на http://123.45.67.89/jenkins/login страницу, но вместо этого меня перенаправляют на http://123.45.67.89/login страница.

В апаче httpd.conf Я пытался дать ProxyPass и ProxyPassReverse

LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_module modules/mod_proxy.so
ProxyPass /jenkins http://127.0.0.1:8090/
ProxyPassReverse /jenkins http://127.0.0.1:8090/

Насколько я понимаю ProxyPassReserve в том, что он перепишет заголовок ответа с /jenkins/login так что когда браузер снова отправит перенаправленный запрос, он будет http://127.0.0.1:8090/jenkins/login

Не уверен, что я правильно понимаю или что-то мне не хватает?

Попробуйте также добавить:

ProxyPassReverse /jenkins http://123.45.67.89/

Вероятно, на ProxyPass вы сохраняете исходный заголовок хоста (ProxyPreserveHost On), если это так, то ProxyPassReverse, вероятно, поможет вам.

РЕДАКТИРОВАТЬ:

Я проверил свою мини-лабораторию, и дело в том, что Дженкинс не выполняет перенаправление, но дает вам этот html

<meta http-equiv='refresh' content='1;url=/login?from=%2F'/>

Я решил это, запустив Дженкинса с переключателем --prefix=/jenkins