¿Cómo deshabilitar el acceso externo 8080 a jenkins?

¿Cómo deshabilitar el acceso externo 8080 a jenkins?

He instalado nginx junto con jenkins en la máquina ubuntu 21.

Configuré nginx para redirigir el tráfico 80 a 8080 siguiendo los pasos de esteenlace

Ahora, podemos redirigir el tráfico de 80 a 8080. Entonces, para deshabilitar el acceso directo a jenkins desde 8080 externamente. Se cambiaron los argumentos en /etc/default/jenkins para agregar la línea --httpListenAddress=127.0.0.1

Ahora, la línea de argumentos de jenkins es la siguiente.

JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT --httpListenAddress=127.0.0.1"

Luego, reinicié la máquina también después de eso, pero aún pude acceder directamente con el puerto 8080.

Sugiera cómo lograrlo.

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

Respuesta1

Su línea de comando de Jenkins no incluye la opción configurada /etc/default/jenkinspor algún motivo.

Vuelva a verificar que JENKINS_ARGSsea correcto e incluya la opción. Intente también reiniciar Jenkins.

Respuesta2

De acuerdo aesterespuesta, /etc/default/jenkinsel archivo ya no se usa en las versiones recientes de Jenkins. Necesitará actualizar el servicio systemd de Jenkins para lograr su objetivo:

  1. Abrir /lib/systemd/system/jenkins.servicemediante editor de texto.
  2. Localice la línea que contiene la variable de entorno de dirección de escucha de Jenkins:#Environment="JENKINS_LISTEN_ADDRESS="
  3. Elimine el comentario y actualice el valor de la variable con la IP local:Environment="JENKINS_LISTEN_ADDRESS=127.0.0.1"
  4. Guarde el archivo y vuelva a cargar los archivos de la unidad systemd:systemctl daemon-reload
  5. Reinicie Jenkins:systemctl restart jenkins

Jenkins debería estar escuchando en localhost ahora:

$ netstat -plunt | grep 8080
tcp6       0      0 127.0.0.1:8080          :::*                    LISTEN      11661/java

información relacionada