Jenkins关闭跨站请求伪造保护(CSRF)保护
那我们如何关闭跨站请求伪造保护呢:
一、使用容器运行的Jenkins
方法一:
进入容器,找到/usr/local/bin/jenkins.sh
,在该文件中的exec java -Duser.home="$JENKINS_HOME" ${FUTURE_OPTS} "${java_opts_array[@]}" -jar ${JENKINS_WAR} "${jenkins_opts_array[@]}" "$@"
一行中,增加-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true
[root@localhost ~]# docker exec -ti jenkins-master /bin/bash
jenkins@b499fdb42624:/$
jenkins@b499fdb42624:/$ vi /usr/local/bin/jenkins.sh
#修改后内容如下:
......
exec java -Duser.home="$JENKINS_HOME" -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true ${FUTURE_OPTS} "${java_opts_array[@]}" -jar ${JENKINS_WAR} "${jenkins_opts_array[@]}" "$@"
配置完成后重启Jenkins容器。
方法二:直接在docker run
中通过-e JAVA_OPTS="-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true"
来关闭。
二、使用war包运行的Jenkins
直接在启动脚本里面添加-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true
参数
export JENKINS_HOME=/mnt/jenkins_home
nohup java -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true -jar jenkins.war > /dev/null 2>&1 &
配置完成后,重新启动Jenkins。
再次查看配置,关闭成功后如下图所示:
https://issues.jenkins.io/browse/JENKINS-61375
标签:csrf,gitlab,webhook,403,GlobalCrumbIssuerConfiguration,CSRF,jenkins,JENKINS,Dhud From: https://www.cnblogs.com/gaoyuechen/p/17359325.html