diff --git a/HowtoJenkins.md b/HowtoJenkins.md index 5c351c47..02c8630a 100644 --- a/HowtoJenkins.md +++ b/HowtoJenkins.md @@ -127,24 +127,6 @@ Voici une configuration d'un VirtualHost Apache pour proxyfier Jenkins en HTTPS ~~~ -### Générer un "Crumb" pour la protection CSRF (Cross Site Request Forgery) de Jenkins - -Depuis Jenkins 2.X la protection CSRF est activé par défaut. Si on administre Jenkins en passant par un reverse proxy Apache ou Nginx, on doit générer un Crumb avec l'utilisateur admin de Jenkins comme ceci : - -Avec une requête curl : - -~~~ -# curl -u "admin_user:password" 'http://localhost:8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)' -~~~ - -Avec une requête wget : - -~~~ -# wget --user=admin_user --password=password --auth-no-challenge -q --output-document - 'http://localhost:8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)' -~~~ - -Si on passe par un reverse proxy, il ne faut pas oublier de cocher l'option sur l'interface web dans Administrer Jenkins -> Configurer la sécurité globale -> CSRF Protection -> Activer la compatibilité proxy - ## Dépannage ### Problème de configuration de Reverse Proxy @@ -164,9 +146,15 @@ Il faut configurer le ProxyPass avec l'option _nocanon_ comme ceci : RequestHeader set X-Forwarded-Proto "https" RequestHeader set X-Forwarded-Port "443" - ~~~ +Si une réponse 403 est renvoyée lors de l’envoi d’un formulaire, activer +l’option de compatibilité (« Enable proxy compatibility ») de protection +CSRF dans « Manage Jenkins > Security > Configure Global Security > CSRF +Protection » (ou « Administrer Jenkins -> Sécurité -> Configurer la +sécurité globale -> CSRF Protection -> Activer la compatibilité proxy ») +peut aider. + ## Agents L’exécution des tests ne devrait pas être réalisée sur le nœud intégré,