42

Sto cercando di installare jenkins, ma non riesco a far funzionare l'autenticazione. Sto eseguendo jenkins su Tomcat6 su CentOS 6.2. Abilito il log in e tutto va bene fino a quando non provo ad accedere. Dopo aver dato le credenziali e premuto login, tomcat mi dà un errore:

"Stato HTTP 404 - La risorsa richiesta() non è disponibile." su http://myserver:8080/jenkins/j_acegi_security_checkJenkins - j_acegi_security_check

googling posso trovare questo: https://issues.jenkins-ci.org/browse/JENKINS-3761

Due suggerito correzioni che ho trovato:

  • Jenkins funzionare su Tomcat, invece di eseguire la versione standalone - ho sto già facendo così.
  • Modifica un file: WEB-INF/security/SecurityFilters.groovy - ho cercato di modificare, ma non riesco a farlo cambiare nulla

C'è qualcosa che potevo fare per fare questo lavoro?

+0

FWIW ha cominciato mi succede ultimamente che mi è stato reindirizzato a 'j_acegi_security_check' pagina vuota o n tentativo di accesso, su Chrome e Opera su Windows. Risulta il problema era che avevo un * Proxy Fiddler abilitato * che per qualche ragione mi impediva di accedere. –

risposta

87

Età trascorsa in lotta con questo, assicurati che sia impostato un ambito di sicurezza quando scegli il tuo metodo di autorizzazione in Jenkins.

Cioè, in Gestione Jenkins → Configura Global Security selezionare un'opzione nel sicurezza Reame lista.

Ad esempio:

enter image description here

+3

Vorrei poter dare questo 10 voti in su. –

0

Ero di fronte allo stesso problema su Ubuntu e su AIX, dove avevo un disperato bisogno di lavorare nelle impostazioni di produzione. Ho anche provato i web server Tomcat e Apache, sempre lo stesso problema.

Infine cambiando il caricatore di classe come segue fatto funzionare in modalità stand-alone: ​​

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

A proposito, questo è impostazioni predefinite nella distribuzione standard Jenkins per Ubuntu, da dove ho preso l'indizio.

Probabilmente il problema è legato alla confezione, ma per ora questa soluzione funziona. Controlla se questo risolve problemi simili.

+0

La macchina che aveva il problema non esiste più, ma grazie per averlo detto, poiché potrebbe essere utile in futuro . – varesa

-1

Ho avuto lo stesso HTTP 404 sull'URI "/ jenkins/j_acegi_security_check".

Nel mio caso, Jenkins era in esecuzione su un Tomcat avviato dall'utente 'root'. Arrestato Tomcat e riavviato dal corretto utente dell'applicazione separata. Problema risolto.

+0

Avrebbe potuto essere eseguito come root, dato che era un servizio installato da yum. Pensavo di averlo configurato per funzionare come qualcos'altro però ... – varesa

0

Ho avuto lo stesso HTTP 404 sul "/ Jenkins/j_acegi_security_check" problema URI.

E lo stesso problema evidenziato da pga sopra: Tomcat veniva avviato come utente root.

Questo perché ho dovuto configurare tomcat per il riavvio automatico creando uno script di tomcat di avvio in "/etc/init.d/".

Risolto il problema con:

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

Come accennato in 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).

Assicurati che il tuo /jenkins ProxyPass non finisce con una barra finale nell'URL di destinazione.

+0

Non penso che sia l'unico problema, in quanto è stato risolto l'installazione di jenkins in modo diverso. Non sono sicuro se fosse anche dietro un proxy a quel punto. EDIT: Io non sono sicuro al 100% su questo però, confrontando la data con una mia domanda su serverfault, che avrebbe potuto essere. Non posso verificare il mio caso specifico quindi non selezionerò la risposta, ma avrò un upvote – varesa

-1

Vedere la votazione in basso: ho eseguito nuovamente i passaggi su un server nuovo. C'erano personaggi ** e ho rimosso che

C'erano mancante simbolo $ per Tomcat come questo $ TOMCAT_VERSION

(Sia corretto e si sta lavorando) (aggiornate al 2016/03/28)

disattivare la la sicurezza come riportato qui di seguito:

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

Impossibile accedere Jenkins, e non può disabilitare l'opzione di accesso sia o Bloccato il login con Jenkins su Tomcat.

http://xx.xxx.xxx.xxx:8080/jenkins/login?from=/jenkins/ e dopo aver riempito l'userid password, che non è stato istituito a tutti, sarà sempre prendere a questa pagina

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

HTTP Stato 404 - Descrizione La risorsa richiesta non è disponibile.

Avevo il file .war installato in tomcat Mi ci è voluto molto tempo per risolvere questo problema. Avevo molte volte completamente rimosso Tomcat, Jenkins tutte le cartelle .jenkins ecc reinstallato e non quello che ...

Rimuovere sia Tomcat e Jenkins completamente ancora una volta ...

La soluzione è l'uso corretto di utente e gruppo, vediamo come farlo eseguendo i seguenti comandi uno per uno.

È stato effettuato l'accesso con utente (ad esempio vimal) con autorizzazione 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 

Per TOMCAT_URL, copiare il link che avete bisogno dall'archivio/src (.zip) di Tomcat sito di download

[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 

Prima di comando in esecuzione di seguito è necessario disporre di JAVA_HOME istituito nel JAVA_HOME come = "/ usr/lib/jvm/java-8-oracle /" aggiungendo questo in 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 

Attendere un paio di minuti fino a Jenkins è a pieno carico. Ha bisogno di 2 GB di memoria. Prova ad andare al browser su http://xx.xxx.xxx.xxx:8080/jenkins/ e funzionerà ...

Mi ci è voluto un giorno per trovare la soluzione.

0

Ecco come ho risolto questo 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 

aggiornare il browser e Jenkins dovrebbe essere attivo e funzionante. Spero che questo aiuti!

0

Ho avuto lo stesso problema con 404 nella pagina "/ jenkins/j_acegi_security_check".

Utilizzando Jenkins con Tomcat, dopo molti tentativi per risolverlo, sono arrivato alla seguente soluzione: utilizzo 18080 come porta predefinita senza reindirizzamento SSL. E'relative al reindirizzamento, ma in quel caso (come l'utilizzo di Tomcat) deve essere cambiato nel tomcat-server-configurazione:

Look in /conf/server.xml per la seguente voce:

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

Proprio commentando la redirectPort aiutato per me:

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