背景
根据官网描述,Jenkins版本自2.204.6以来的重大变更有:删除禁用 CSRF 保护的功能。 从较旧版本的 Jenkins 升级的实例将启用 CSRF 保护和设置默认的发行者,如果之前被禁用。
方案
老版本Jenkins的CSRF保护功能只需要在 系统管理 > 全局安全配置 中便可进行打开或者关闭。让人头疼的是较高版本的Jenkins竟然在管理页面关闭不了CSRF
在Jenkins启动前加入相关取消保护的参数配置后启动Jenkins,即可关闭CSRF,
配置内容如下:
代码语言:java复制-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true
Jenkins若是跑在Tomcat下,只需在tomcat启动脚本catalina.sh中加入配置即可;若是以jar包形式部署的,只需在启动时加上配置参数即可。
验证是否关闭成功
如果在设置中-全局安全设置里面,如下图展示,则说明就关闭了CSRF