42

Estoy tratando de configurar a jenkins, pero no puedo hacer que la autenticación funcione. Estoy ejecutando jenkins en Tomcat6 en CentOS 6.2. Hago login, y todo va bien hasta que trato de iniciar sesión. Después de dar mi credencial y presionar login, tomcat me da un error:

"HTTP Status 404 - El recurso solicitado() no está disponible." en http://myserver:8080/jenkins/j_acegi_security_checkJenkins - j_acegi_security_check

buscando en Google puedo encontrar esto: https://issues.jenkins-ci.org/browse/JENKINS-3761

Dos sugirieron correcciones que he encontrado:

  • Jenkins se ejecutan en Tomcat en lugar de ejecutar la versión independiente - Me am haciendo ya.
  • Editar un archivo: WEB-INF/security/SecurityFilters.groovy - Traté de editar, pero no puedo conseguir que cambiar nada

¿Hay algo que pueda hacer para hacer este trabajo?

+0

Fwiw comenzó a suceder a mí últimamente que fui redirigido a 'j_acegi_security_check' página en blanco o n intento de inicio de sesión, en Chrome y Opera en Windows. Resulta que el problema era que tenía un * Fiddler Proxy habilitado * que por alguna razón me estaba impidiendo iniciar sesión. –

Respuesta

87

Pasados ​​los años luchando con este, asegúrese de que se establezca un Reino de seguridad cuando elija su Método de autorización en Jenkins.

Es decir, en Administrar Jenkins → Configuración de la seguridad global seleccione una opción en la lista Seguridad Reino.

Por ejemplo:

enter image description here

+3

Ojalá pudiera dar estos 10 votos. –

0

Estaba enfrentando el mismo problema en Ubuntu y en AIX, donde lo necesitaba desesperadamente para trabajar en entornos de producción. Incluso probé los servidores web Tomcat y Apache, sigue siendo el mismo problema.

Por último cambiar el cargador de clases de la siguiente manera lo hizo funcionar en modo autónomo:

java -jar jenkins.war --httpPort=79802 --preferredClassLoader=java.net.URLClassLoader & 

Por cierto, esta es la configuración predeterminada en la distribución estándar de Jenkins para Ubuntu, desde donde me dio la pista.

Probablemente el problema esté relacionado con el empaquetado, pero por ahora esta solución funciona. Verifique si esto resuelve problemas similares.

+0

La máquina que tenía el problema ya no existe, pero gracias por decir esto, ya que podría ser útil en el futuro . – varesa

-1

Tenía el mismo HTTP 404 en el URI "/ jenkins/j_acegi_security_check".

En mi caso, Jenkins se estaba ejecutando en un Tomcat iniciado por el usuario 'root'. Detenido Tomcat, y comenzó de nuevo por el usuario de la aplicación separada adecuada. Problema resuelto.

+0

Podría haber estado ejecutándose como root, ya que era un servicio instalado por yum. Pensé que lo había configurado para funcionar como algo más ... – varesa

0

que tenía el mismo HTTP 404 en el "/ Jenkins/j_acegi_security_check" problema URI.

Y el mismo problema señalado por pga arriba: Tomcat se inició como usuario root.

Esto se debía a que había configurado Tomcat para reiniciar automáticamente mediante la creación de un script de inicio de tomcat en "/etc/init.d/".

ha solucionado el problema con:

su - tomcatuser - c /cde/pkgs/../tomcat/start.sh 
7

Como se ha mencionado en the bug page:

The error was caused by a proxy pass rule "/jenkins http://localhost:9080/jenkins/" which led to the incomming (jenkins) request "/jenkins//j_acegi_security_check" (double //). So the login page was rejected with 404 (while all other pages where served).

Asegúrese de que su /jenkins ProxyPass no termina con una barra al final de la URL de destino.

+0

No creo que sea el único problema, ya que se arregló la instalación de jenkins de manera diferente. No estoy seguro si incluso estaba detrás de un proxy en ese punto. EDITAR: Aunque no estoy 100% seguro de eso, comparando la fecha con una pregunta mía sobre la falla del servidor, podría haber sido eso. No puedo verificar mi caso específico, así que no seleccionaré la respuesta, pero tendré un voto favorable – varesa

-1

Viendo el voto negativo: Hice los pasos nuevamente en el servidor nuevo. Hubo caracteres ** y me quitó esa

Hubo falta $ señal para Tomcat como esto $ TOMCAT_VERSION

(Tanto corregido y se está trabajando) (actualizado el 03/28/2016)

deshabilitar la la seguridad, tal como figura a continuación:

http://markunsworth.com/2012/02/13/locked-yourself-out-of-jenkins/

no es posible entrar Jenkins, y la opción de inicio de sesión ya sea Ono puede desactivar 0 Bloqueado en inicio de sesión con Jenkins en Tomcat.

http://xx.xxx.xxx.xxx:8080/jenkins/login?from=/jenkins/ y después del llenado de la contraseña del ID de usuario, que no se ha configurado en absoluto, siempre tendrán a esta página

http://xx.xxx.xxx.xxx:8080/jenkins/j_acegi_security_check 

de estado HTTP 404 - Descripción El recurso solicitado no está disponible.

Tenía el archivo .war instalado en tomcat Me llevó mucho tiempo solucionar este problema. que había muchas veces eliminado por completo Tomcat, Jenkins todas las carpetas .jenkins etc reinstalado y lo que no ...

Retire tanto Tomcat y Jenkins por completo una vez más ...

La solución es el uso adecuado de usuario y grupo, veamos cómo hacerlo ejecutando los siguientes comandos uno por uno.

Has iniciado sesión con el usuario (por ejemplo, vimal) con el permiso sudo.

[email protected]:~$ sudo apt-get update 
[email protected]:~$ BASE_USER=vimal 
[email protected]:~$ sudo chown -Rf $BASE_USER:$BASE_USER /opt/ 

[email protected]:~$ USER=apache-tomcat 
[email protected]:~$ GROUP=myjenkins 
[email protected]:~$ TOMCAT_INSTALL_DIR=/opt 
[email protected]:~$ TOMCAT_VERSION=apache-tomcat-8.0.23 
[email protected]:~$ TOMCAT_URL=http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.zip 

Para TOMCAT_URL, copie el enlace que necesita de archive/src (.zip) del sitio de descarga Tomcat

[email protected]:~$ mkdir -p $TOMCAT_INSTALL_DIR 
[email protected]:~$ cd $TOMCAT_INSTALL_DIR 
[email protected]:~$ wget $TOMCAT_URL 
[email protected]:~$ unzip -q $TOMCAT_VERSION.zip 
[email protected]:~$ rm $TOMCAT_VERSION.zip 

Antes de comandos se ejecuta a continuación es necesario tener JAVA_HOME creó en JAVA_HOME como = "/ usr/lib/jvm/java-8-Oracle /" mediante la adición de esto en sudo nano/etc/environment

[email protected]:~$ sudo chmod +x $TOMCAT_INSTALL_DIR/$TOMCAT_VERSION/bin/*.sh 
[email protected]:~$ $TOMCAT_INSTALL_DIR/$TOMCAT_VERSION/bin/catalina.sh start 
[email protected]:~$ 
[email protected]:~$ cd $TOMCAT_INSTALL_DIR/$TOMCAT_VERSION/webapps/ 
[email protected]:~$ wget http://mirrors.jenkins-ci.org/war-stable/latest/jenkins.war 

esperar un par de minutos hasta que Jenkins se ha cargado completamente. Necesita memoria de 2GB. Intente ir al navegador en http://xx.xxx.xxx.xxx:8080/jenkins/ y funcionará ...

Me llevó un día encontrar la solución.

0

Aquí es cómo resolví este problema:

# service tomcat status 
tomcat start/running, process 996 

# service tomcat stop 
tomcat stop/waiting 

# service jenkins status 
Jenkins Continuous Integration Server is not running 

# service jenkins restart 
* Restarting Jenkins Continuous Integration Server jenkins    [ OK ] 
# service tomcat start 
tomcat start/running, process 3839 

# service jenkins status 
Jenkins Continuous Integration Server is running with the pid 3694 

actualizar su navegador y Jenkins debería estar en funcionamiento. Espero que esto ayude!

0

Tuve el mismo problema con 404 en la página "/ jenkins/j_acegi_security_check".

Utilizando Jenkins con Tomcat, después de una gran cantidad de intentos para resolverlo, llegué a la siguiente solución: estoy usando 18080 como puerto predeterminado sin redirección SSL. Está relacionados con el redireccionamiento, pero en ese caso (como el uso de Tomcat) tiene que ser cambiado en el tomcat-servidor de configuración:

Look en /conf/server.xml para la siguiente entrada:

<Connector port="18080" protocol="HTTP/1.1" 
    connectionTimeout="20000" 
    redirectPort="8443" /> 

Sólo comentando la redirectPort ayudaron para mí:

<Connector port="18080" protocol="HTTP/1.1" 
    connectionTimeout="20000" />