Bagaimana saya bisa membuat Jenkins berhenti mendengarkan koneksi jarak jauh?

23

Saya memiliki Jenkins duduk di belakang Nginx, dengan Nginx mengurus otentikasi, tetapi Jenkins masih mendengarkan pada port 8080 secara eksternal, jadi dengan mengakses kotak pada port 8080 orang dapat mem-bypass Nginx.

Bagaimana saya bisa mengatakannya untuk berhenti mendengarkan koneksi jarak jauh dan hanya menerima koneksi secara lokal?

Sepertinya itu mungkin ada hubungannya dengan param ajp13ListenAddress ini, tapi saya tidak tahu bagaimana mengaturnya di skrip init.d yang diinstal dengan Jenkins.

Terima kasih banyak atas bantuannya!

Ludo.

(Sepertinya belum ada tag Jenkins dan saya tidak dapat membuatnya karena saya tidak memiliki perwakilan)

Ludo
sumber
Baru saja menambahkan tag jenkins.
davey
Inilah sebabnya saya cenderung menggunakan Hudson / Jenkins di dalam Tomcat ..
Tom O'Connor
1
Mengomentari, karena saya tidak bisa langsung menjawab pertanyaan Anda. Sudahkah Anda mempertimbangkan untuk mengurangi dengan menggunakan iptables dan / atau tcpwrappers?
pboin

Jawaban:

25

Debian

Jika Anda menginstal Jenkins dari paket Debian, Anda dapat memodifikasi /etc/default/jenkinsdan menambahkan baris berikut di suatu tempat:

HTTP_HOST=127.0.0.1

dan kemudian tambahkan --httpListenAddress=$HTTP_HOSTke JENKINS_ARGS sehingga terbaca seperti:

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

Ubuntu

Jika Anda menginstal Jenkins dari paket Ubuntu Oneiric (11.10), edit /etc/init/jenkins.confdan tambahkan --httpListenAddress=127.0.0.1ke JENKINS_ARGSbaris, sehingga berbunyi seperti:

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

RedHat / CentOS / Amazon Linux

Jika Anda menginstal Jenkins menggunakan YUM repositori, memodifikasi /etc/sysconfig/jenkinsdan mengedit JENKINS_LISTEN_ADDRESSuntukJENKINS_LISTEN_ADDRESS=127.0.0.1

Wouter de Bie
sumber