Как я могу заставить Дженкинса перестать слушать удаленные соединения?

23

Дженкинс сидит за Nginx, а Nginx отвечает за аутентификацию, но Дженкинс по-прежнему прослушивает порт 8080 извне, поэтому, получив доступ к блоку на порту 8080, можно обойти Nginx.

Как я могу сказать, чтобы он прекратил прослушивание удаленных подключений и просто принимал подключения локально?

Похоже, это может быть связано с этим параметром ajp13ListenAddress, но я не могу понять, как установить это в сценарии init.d, установленном вместе с Jenkins.

Спасибо огромное за любую помощь!

Людо.

(Похоже, тега Jenkins пока нет, и я не могу его создать, так как у меня нет представителя)

лудо
источник
Только что добавил тег Дженкинс.
Дэйви
Вот почему я склонен развертывать Хадсон / Дженкинс внутри Tomcat ..
Том О'Коннор
1
Комментируя, потому что я не могу прямо ответить на ваш вопрос. Рассматривали ли вы смягчение с помощью iptables и / или tcpwrappers?
pboin

Ответы:

25

Debian

Если вы установили Jenkins из пакета Debian, вы можете изменить /etc/default/jenkinsи добавить следующую строку:

HTTP_HOST=127.0.0.1

и затем добавьте --httpListenAddress=$HTTP_HOSTв JENKINS_ARGS, чтобы он читал что-то вроде:

JENKINS_ARGS="--webroot=/var/run/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT --httpListenAddress=$HTTP_HOST"

Ubuntu

Если вы установили Дженкинс из Ubuntu Грез (11,10) пакета, редактирования /etc/init/jenkins.confи дополнения --httpListenAddress=127.0.0.1к JENKINS_ARGSлинии, так что она читается как:

JENKINS_ARGS="--webroot=$JENKINS_RUN/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT --httpListenAddress=127.0.0.1"

RedHat / CentOS / Amazon Linux

Если вы установили Jenkins с помощью репозитория YUM, измените /etc/sysconfig/jenkinsи измените его JENKINS_LISTEN_ADDRESSнаJENKINS_LISTEN_ADDRESS=127.0.0.1

Вутер де Би
источник