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!
- Vaya a la carpeta /etc/default -> Abra el archivo “jenkins”
- Modifique la línea HTTP_PORT=8080 como HTTP_PORT=80
- Inicie jenkins como root usando el comando: sudo /etc/init.d/jenkins start
- 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.