容器里运行jenkins,关闭跨站请求伪造保护(CSRF)

gitlab要和jenkins进行联动,所以必须要需要对jenkins的安全做一些设置,依次点击系统管理-全局安全配置-授权策略,勾选"匿名用户具有可读权限"
file
注意下面的的跨站点伪造保护(CSRF)请求必须要关闭,但是在Jenkins版本自2.2xx版本之后,在web界面里已经没法关闭了:
file
所以在当前web界面里暂且不要管它,点击下面的保存。

gitlab要触发jenkins的话,就必须要关闭跨站点伪造请求,web界面里已经没法关闭了,所以要需要做如下设置

[root@vms9 ~]# docker exec -u root  -it jenkins  bash
[root@44a32750c94c /]#
[root@44a32750c94c /]# vi /usr/local/bin/jenkins.sh
找到exec java那行(大概是在第37行),添加-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true
最终的效果如下
exec java -Duser.home="$JENKINS_HOME" -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true "${java_opts_array[@]}" -jar ${JENKINS_WAR} "${jenkins_opts_array[@]}" "$@"

[root@44a32750c94c /]# exit
exit
[root@vms9 ~]#

然后重启jenkins容器

[root@vms9 ~]# docker restart jenkins 
jenkins
[root@vms9 ~]#

再次登录到web界面查
看 跨站点伪造请求的设置:
file
这里已经是关闭了。

相关新闻

                                                                                                                                    RHCE9学习指南连载,点击阅读