Saltar al contenido

Cómo configurar Jenkins para que se ejecute en el puerto 80

La guía paso a paso o código que encontrarás en este post es la solución más fácil y válida que encontramos a esta inquietud o problema.

Solución:

Otra solución es simplemente usar iptables para redirigir el tráfico entrante de 80 a 8080. Las reglas se verían así:

-A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
-A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

Reformateado como un archivo iptables.rules:

*filter
:INPUT ACCEPT [100:100000]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [95:9000]
-A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
COMMIT

*nat
-A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
COMMIT

La ventaja de un archivo iptable.rules es que las reglas pueden persistir después de reiniciar. ¡Solo asegúrese de integrar cualquier otra regla actual de iptable en el mismo archivo!

En Redhat/CentOS este archivo puede entrar /etc/sysconfig/iptables.

En los sistemas Debian/Ubuntu se pueden guardar en /etc/iptables/rules.v4 usando el iptables-persistent paquete. O se puede llamar a iptable.rules modificando /etc/network/interfaces o enganchándose en if-up/if-down guiones. La wiki de la comunidad de Ubuntu tiene una excelente página que explica estos métodos.

Como suele ser el caso con la creación de redes, hay muchas maneras diferentes de lograr el mismo resultado. ¡Usa lo que funcione mejor para ti!

  1. Vaya a la carpeta /etc/default -> Abra el archivo “jenkins”
  2. Modifique la línea HTTP_PORT=8080 como HTTP_PORT=80
  3. Inicie jenkins como root usando el comando: sudo /etc/init.d/jenkins start
  4. Abra un navegador y navegue como localhost:80

Eso es

Intente ‘authbind’:

sudo apt-get install authbind
sudo touch /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80 
sudo chown jenkins /etc/authbind/byport/80

Luego modifique el script anterior para tener (agregar authbind antes de $JAVA_HOME/bin/java parte):

exec daemon --name=jenkins --inherit --output=$JENKINS_LOG/jenkins.log 
--user=$USER -- authbind $JAVA_HOME/bin/java $JAVA_OPTS 
-jar $JENKINS_ROOT/jenkins.war $JENKINS_ARGS 
--preferredClassLoader=java.net.URLClassLoader

Para instalaciones más nuevas de Jenkins (1.598) en instalaciones más nuevas de Ubuntu (14.04), edite /etc/init.d/jenkins y añadir authbind antes de $JAVA

$SU -l $JENKINS_USER --shell=/bin/bash -c "$DAEMON $DAEMON_ARGS -- authbind $JAVA $JAVA_ARGS -jar $JENKINS_WAR $JENKINS_ARGS" || return 2

Como mencionó Alan (ver el comentario a continuación), si necesita IPv6 y su sistema es más bajo que Quantal, puede hacerlo en lugar de usar apt-get instalar authbind descargar una versión superior. Asegúrate de tener libc6 y libc6-udeb instalado. Aquí está authbind versión 2.1.1 de Ubuntu:

  • amd64
  • i386

Luego ejecuta:

sudo dpkg -i authbind_2.1.1_amd64.deb
# or sudo dpkg -i authbind_2.1.1_i386.deb

sudo touch /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80 
sudo chown jenkins /etc/authbind/byport/80

No se te olvide dar recomendación a este artículo si lograste el éxito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *