
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/jenkins
por algún motivo.
Vuelva a verificar que JENKINS_ARGS
sea correcto e incluya la opción. Intente también reiniciar Jenkins.
Respuesta2
De acuerdo aesterespuesta, /etc/default/jenkins
el archivo ya no se usa en las versiones recientes de Jenkins. Necesitará actualizar el servicio systemd de Jenkins para lograr su objetivo:
- Abrir
/lib/systemd/system/jenkins.service
mediante editor de texto. - Localice la línea que contiene la variable de entorno de dirección de escucha de Jenkins:
#Environment="JENKINS_LISTEN_ADDRESS="
- Elimine el comentario y actualice el valor de la variable con la IP local:
Environment="JENKINS_LISTEN_ADDRESS=127.0.0.1"
- Guarde el archivo y vuelva a cargar los archivos de la unidad systemd:
systemctl daemon-reload
- 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