Wie deaktiviere ich den externen 8080-Zugriff auf Jenkins?

Wie deaktiviere ich den externen 8080-Zugriff auf Jenkins?

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/jenkinsaus irgendeinem Grund nicht die festgelegte Option.

Bitte überprüfen Sie noch einmal, ob es JENKINS_ARGSkorrekt ist und die Option enthält. Versuchen Sie auch, Jenkins neu zu starten.

Antwort2

EntsprechendDasAntwort: /etc/default/jenkinsDie Datei wird in neueren Jenkins-Versionen nicht mehr verwendet. Sie müssen den Jenkins-Systemd-Dienst aktualisieren, um Ihr Ziel zu erreichen:

  1. /lib/systemd/system/jenkins.serviceÜber einen Texteditor öffnen .
  2. Suchen Sie die Zeile, die die Umgebungsvariable für die Abhöradresse von Jenkins enthält:#Environment="JENKINS_LISTEN_ADDRESS="
  3. Entfernen Sie den Kommentar und aktualisieren Sie den Variablenwert mit der lokalen IP:Environment="JENKINS_LISTEN_ADDRESS=127.0.0.1"
  4. Speichern Sie die Datei und laden Sie die Systemd-Unit-Dateien neu:systemctl daemon-reload
  5. 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

verwandte Informationen