Дженкинс за nginx без подкаталога

У меня есть Дженкинс, который работает внутри моей установки Glassfish, поэтому Дженкинсу можно добраться до @

http://localhost:8090/jenkins/

Мне удалось установить nginx, чтобы Дженкинса можно было добраться извне @

http://build.example.com/jenkins/

Эта настройка работает до сих пор, но я не очень доволен ею. То, чего я действительно хочу достичь, - это поразить

http://build.example.com

в браузере, чтобы добраться до Дженкинса.

Вот моя текущая конфигурация nginx:

server {
 listen 80;

 server_name build.example.com;

 location / {
 proxy_pass http://localhost:8090;
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
}

Надеюсь, это возможно через некоторую переработку URL, но я совершенно не знаю, как это сделать...

3 ответа

Мне кажется, что проблема заключается в конфигурации Glassfish.

Как насчет установки в application.xml следующего значения:

Вместо значения по умолчанию, которое является именем WAR файла, без расширения .war.

Кажется, что на SO есть похожие вопросы.


Затем измените:

proxy_pass http://localhost:8090;

в

proxy_pass http://localhost:8090/jenkins/;

Ссылка: http://nginx.org/r/proxy_pass


С сайта http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass

location / {
 rewrite /jenkins/(.*) /$1 break;
 proxy_pass http://localhost:8090/jenkins/;
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

licensed under cc by-sa 3.0 with attribution.