У меня есть пара серверов, один из которых работает с Nginx, другой с Jenkins (ну и другие серверы для других сервисов, но это не важно). Эти серверы находятся в своей собственной подсети, которая обычно недоступна с моей машины. В целях тестирования у этих двух машин есть IP-адрес, к которому я могу получить доступ со своей машины.
Если я обращаюсь к серверу Jenkins напрямую, все работает так, как я ожидал. Более или менее стандартная установка Jenkins, сделанная через пакет centos. Только небольшие незначительные изменения заключались в использовании nginx для перенаправления с 80 на 8080, а также при прослушивании Дженкинсом /jenkins
а не просто /
; это было сделано путем обновления конфигурации jenkins, чтобы включить --prefix=/jenkins
.
Однако идея состоит в том, что эти серверы доступны только через сервер nginx, так как в какой-то момент это будет конечная точка https, но пока это просто http. Я установил обратный прокси на сервере nginx, и он почти отлично работает. Единственная проблема сейчас заключается в том, что когда я вхожу в систему или выхожу из системы, пока он работает, я попадаю на неправильный IP-адрес, и в моем браузере ничего не загружается. т.е.
<nginx ip>:80/jenkins
<jenkins ip on wrong subnet>:80/jenkins
<nginx ip>:80/jenkins
грузы со мной вошли в систему<nginx ip>:80/jenkins/logout
<jenkins ip on wrong subnet>:80/jenkins/logout
Я не могу понять, почему Дженкинс использует этот IP-адрес подсети специально для входа / выхода. Я считаю, что Дженкинс использует свой собственный экземпляр tomcat, но я не могу найти его установку на этой машине. Другие службы, которые я настроил через обратный прокси, подключены или нет.