Jenkins + nginx обратный прокси на Plesk - PullRequest
0 голосов
/ 30 марта 2020

Я запускаю Plesk Obsidian на моем сервере centOS и вручную устанавливаю на нем Jenkins. Дженкинс работает. Его можно использовать по телефону http://my-server.de: 38080 без проблем. Я также создал новый поддомен в Plesk (jenkins.my-server.de), который защищен сертификатом let encrypt.

Моя идея заключалась в том, чтобы использовать обратный прокси nginx для вызова Jenkins с использованием нового поддомен: https://jenkins.my-server.de. Поэтому я отключил использование Apache в настройках Plesk Apache & nginx для субдомена и добавил следующие дополнительные директивы nginx в веб-интерфейсе Plesk:

location ~ / {
  proxy_pass          http://localhost:38080;
  proxy_read_timeout  90;

  proxy_redirect      http://localhost:38080 https://jenkins.my-server.de;
}

Проблема в том, что , что некоторые сайты работают, и на других сайтах я получаю 404.

Звонящий https://jenkins.my-server.de должен показать мне страницу входа, но я получаю 404. Только если я введу https://jenkins.my-server.de/index в браузере я вижу страницу входа. С другой стороны, вызов https://jenkins.my-server.de/manage загружает нужную страницу без ошибок. Страница https://jenkins.my-server.de/configureSecurity снова показывает 404 и работает, только если я добавляю / index в конце.

Я что-то упустил в настройках nginx?

1 Ответ

0 голосов
/ 31 марта 2020

Следующая конфигурация работает для меня в сочетании с Plesk.

location ^~ / {
    proxy_set_header        Host $host:$server_port;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;

    proxy_redirect          http://localhost:38080 https://jenkins.my-server.de;
    proxy_pass              http://localhost:38080;

    proxy_http_version 1.1;
    proxy_request_buffering off;
    proxy_buffering off;
    add_header 'X-SSH-Endpoint' 'jenkins.my-server.de:50022' always;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...