Jak sprawić, aby Jenkins przestał nasłuchiwać połączeń zdalnych?

23

Mam Jenkinsa siedzącego za Nginxem, a Nginx zajmuje się uwierzytelnianiem, ale Jenkins nadal nasłuchuje na porcie 8080 zewnętrznie, więc uzyskując dostęp do skrzynki na porcie 8080 ludzie mogą ominąć Nginx.

Jak mogę to powiedzieć, aby przestał nasłuchiwać połączeń zdalnych i po prostu akceptuje połączenia lokalne?

Wygląda na to, że może to mieć coś wspólnego z tym parametrem ajp13ListenAddress, ale nie mogę wymyślić, jak to ustawić w skrypcie init.d zainstalowanym z Jenkins.

Dzięki ładuje za wszelką pomoc!

Gra w kości.

(Wygląda na to, że nie ma jeszcze tagu Jenkins i nie mogę go utworzyć, ponieważ nie mam przedstawiciela)

Gra w kości
źródło
Właśnie dodałem tag Jenkins.
davey
Właśnie dlatego zazwyczaj wdrażam Hudsona / Jenkinsa w Tomcat ..
Tom O'Connor
1
Komentowanie, ponieważ nie mogę bezpośrednio odpowiedzieć na twoje pytanie. Czy rozważałeś złagodzenie za pomocą iptables i / lub tcpwrappers?
pboin

Odpowiedzi:

25

Debian

Jeśli zainstalowałeś Jenkinsa z pakietu Debian, możesz zmodyfikować /etc/default/jenkinsi dodać gdzieś następującą linię:

HTTP_HOST=127.0.0.1

a następnie dodaj --httpListenAddress=$HTTP_HOSTdo JENKINS_ARGS, aby odczytywał coś takiego:

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

Ubuntu

Jeśli zainstalowałeś Jenkinsa z pakietu Ubuntu Oneiric (11.10), edytuj /etc/init/jenkins.confi dodaj --httpListenAddress=127.0.0.1do JENKINS_ARGSwiersza, aby brzmiał :

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

RedHat / CentOS / Amazon Linux

Jeśli zainstalowałeś Jenkinsa za pomocą repozytorium YUM, zmodyfikuj /etc/sysconfig/jenkinsi edytuj JENKINS_LISTEN_ADDRESSdoJENKINS_LISTEN_ADDRESS=127.0.0.1

Wouter de Bie
źródło