Как настроить основную Аутентификацию HTTP Jenkins с Nginx?

Ваш /etc/apt/sources.list повреждается. Зафиксируйте синтаксическую ошибку в Вашем sources.list (строка 45...) или замена это рабочей копией.

1
задан 20 May 2017 в 17:56
3 ответа

Похоже, что Jenkins прослушивает порт 8080, поэтому nginx не может его контролировать - вам нужно перейти в конфигурационный файл jenkins и указать ему прослушивать 127.0.0.1 (только локальные соединения ), где я предполагаю, что в настоящее время он установлен на 0.0.0.0 (открыт для всех)

3
ответ дан 3 December 2019 в 19:19

Вы можете ограничить адрес, к которому привязывается Дженкинс, используя - httpListenAddress (например, localhost). См .: Запуск и доступ к Jenkins и Как я могу заставить Jenkins прекратить прослушивание удаленных подключений?

В Linux это можно настроить в JAVA_ARGS в / etc / default / jenkins , но он может отличаться в зависимости от вашего дистрибутива Linux или операционной системы.

Вы также можете рассмотреть возможность использования плагина Reverse Proxy Auth , чтобы делегировать аутентификацию обратному прокси, который вы запускаете перед Дженкинса.

Вот несколько дополнительных примечаний:

  • Убедитесь, что клиенты не могут обойти обратный прокси. Если они могут отправлять запросы напрямую Jenkins, то злонамеренный клиент может отправлять произвольное имя заголовка с произвольным значением,таким образом ставя под угрозу безопасность Jenkins
  • . Убедитесь, что вы сконфигурировали обратный прокси-сервер для удаления заголовка, который вы используете для передачи аутентифицированного имени пользователя. Это предотвращает возможность злонамеренного клиента установить имя заголовка с произвольным значением, которое может нарушить безопасность.
  • Если ваша авторизация проста (например, каждый действующий пользователь получает полный доступ, а все остальные не имеют доступа), тогда вам не нужно используйте этот плагин, так как вы можете выполнять как аутентификацию, так и авторизацию в обратном прокси.
  • Нажмите http: // yourserver / whoAmI , чтобы увидеть фактические HTTP-заголовки, которые ваш Apache отправляет Jenkins. Это полезно для устранения неполадок.
0
ответ дан 3 December 2019 в 19:19

Вы также можете запустить jenkins в контейнере докера и получить полный контроль над доступными портами. Я подключил 2 контейнера докеров jenkins, один из которых является nginx для обратного прокси. у хост-машины не было доступа к контейнеру jenkins, но через URL-адрес, переданный в nginx, который направил его в изолированный контейнер в той же сети докеров.

0
ответ дан 3 December 2019 в 19:19

Теги

Похожие вопросы