J'essaie de configurer Jenkins, mais je ne parviens pas à obtenir l'authentification. Je lance Jenkins sur Tomcat6 sous CentOS 6.2. J'autorise la connexion et tout se passe bien jusqu'à ce que j'essaie de me connecter. Après avoir donné mes informations d'identification et appuyé sur Login, Tomcat m'a donné une erreur:
"Statut HTTP 404 - La ressource demandée () n'est pas disponible." sur http: // myserver: 8080/jenkins/j_acegi_security_check
En cherchant sur Google, je peux trouver ceci: https://issues.jenkins-ci.org/browse/JENKINS-3761
Deux solutions suggérées que j'ai trouvées:
Y a-t-il quelque chose que je pourrais faire pour que cela fonctionne?
Après avoir passé des siècles à lutter avec celui-ci, assurez-vous qu'un domaine de sécurité est défini lorsque vous choisissez votre méthode d'autorisation dans Jenkins.
En d'autres termes, dans Manage Jenkins → Configure Global Security, sélectionnez une option dans la liste Security Realm.
Par exemple:
Vous avez peut-être oublié de sélectionner un domaine de sécurité comme spécifié ci-dessous
https://wiki.jenkins-ci.org/display/JENKINS/Standard+Security+Setup
Si vous vous êtes bloqué, vous pouvez rétablir le fichier Jenkins config.xml pour définir la valeur du noeud <useSecurity>true</useSecurity>
en false
en suivant les instructions fournies ici.
https://wiki.jenkins-ci.org/display/JENKINS/Disable+security
Comme mentionné sur la page de bogue :
L'erreur était due à une règle de transmission proxy
"/jenkins http://localhost:9080/jenkins/"
qui a entraîné la demande entrante (jenkins)"/jenkins//j_acegi_security_check"
(double //). Donc, la page de connexion a été rejetée avec 404 (alors que toutes les autres pages ont été servies).
Assurez-vous que votre /jenkins
ProxyPass ne se termine pas par une barre oblique finale dans l'URL de destination.
J'ai eu le même HTTP 404 sur le problème d'URI "/ jenkins/j_acegi_security_check".
Et le même problème que celui souligné par pga ci-dessus: Tomcat était démarré en tant qu'utilisateur root.
C’est parce que j’ai configuré Tomcat pour qu'il redémarre automatiquement en créant un script Tomcat de démarrage dans "/etc/init.d/".
Correction du problème avec:
su - tomcatuser - c /cde/pkgs/../Tomcat/start.sh
J'ai eu le même problème avec 404 sur la page "/ jenkins/j_acegi_security_check".
À l’aide de Jenkins avec Tomcat, après de nombreux essais, j’en suis venu à la solution suivante: j’utilise 18080 comme port par défaut sans redirection SSL . C’est lié à la redirection, mais dans ce cas (comme Tomcat) doit être modifié dans la configuration du serveur Tomcat:
Recherchez dans /conf/server.xml l’entrée suivante:
<Connector port="18080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Je viens de commenter le redirectPort m'a aidé:
<Connector port="18080" protocol="HTTP/1.1"
connectionTimeout="20000" />
Je faisais face au même problème sous Ubuntu ainsi qu’AIX, où j’avais désespérément besoin de l’utiliser pour les paramètres de production. J'ai même essayé les serveurs Web Tomcat et Apache, toujours le même problème.
Enfin, le fait de changer le chargeur de classe comme suit l’a fait fonctionner en mode autonome:
Java -jar jenkins.war --httpPort=79802 --preferredClassLoader=Java.net.URLClassLoader &
À propos, il s’agit des paramètres par défaut de la distribution Jenkins standard pour Ubuntu, d’où j’ai eu la moindre idée.
Le problème est probablement lié à l'emballage, mais pour l'instant cette solution fonctionne. Vérifiez si cela résout des problèmes similaires.