
Ich habe Nginx zusammen mit Jenkins auf einer Ubuntu 21-Maschine installiert.
Nginx wurde so konfiguriert, dass der Datenverkehr von 80 auf 8080 umgeleitet wird. Dazu wurden die folgenden Schritte ausgeführt.Verknüpfung
Jetzt kann der Datenverkehr von 80 auf 8080 umgeleitet werden. So kann der direkte externe Zugriff auf Jenkins von 8080 deaktiviert werden. Die Argumente in /etc/default/jenkins wurden geändert, um die Zeile --httpListenAddress=127.0.0.1 hinzuzufügen.
Jetzt sieht die Jenkins-Argumentzeile wie folgt aus.
JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT --httpListenAddress=127.0.0.1"
Anschließend habe ich die Maschine neu gestartet, konnte aber immer noch direkt über den Port 8080 zugreifen.
Bitte machen Sie Vorschläge, wie dies erreicht werden kann.
azureuser@jenkins:~$ ss -lnpt
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 511 0.0.0.0:80 0.0.0.0:*
LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 4096 *:3000 *:*
LISTEN 0 50 *:8080 *:*
LISTEN 0 128 [::]:22 [::]:*
azureuser@jenkins:~$ ps auxw | grep jenkins
jenkins 6761 0.1 11.8 3036280 416756 ? Ssl Mar29 8:08 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080
azureus+ 86025 0.0 0.0 8548 2356 pts/0 S+ 19:09 0:00 grep --color=auto jenkins
Antwort1
Ihre Jenkins-Befehlszeile enthält /etc/default/jenkins
aus irgendeinem Grund nicht die festgelegte Option.
Bitte überprüfen Sie noch einmal, ob es JENKINS_ARGS
korrekt ist und die Option enthält. Versuchen Sie auch, Jenkins neu zu starten.
Antwort2
EntsprechendDasAntwort: /etc/default/jenkins
Die Datei wird in neueren Jenkins-Versionen nicht mehr verwendet. Sie müssen den Jenkins-Systemd-Dienst aktualisieren, um Ihr Ziel zu erreichen:
/lib/systemd/system/jenkins.service
Über einen Texteditor öffnen .- Suchen Sie die Zeile, die die Umgebungsvariable für die Abhöradresse von Jenkins enthält:
#Environment="JENKINS_LISTEN_ADDRESS="
- Entfernen Sie den Kommentar und aktualisieren Sie den Variablenwert mit der lokalen IP:
Environment="JENKINS_LISTEN_ADDRESS=127.0.0.1"
- Speichern Sie die Datei und laden Sie die Systemd-Unit-Dateien neu:
systemctl daemon-reload
- Starten Sie Jenkins neu:
systemctl restart jenkins
Jenkins sollte jetzt auf dem lokalen Host lauschen:
$ netstat -plunt | grep 8080
tcp6 0 0 127.0.0.1:8080 :::* LISTEN 11661/java