首先我用的是jenkins 2.400的版本,也是比较新的版本,在做远程触发job构建时候出现各种错误!
400:curl 提交的表单错误
403:csrf认证机制不对
401:jenkins用户密码不对
404:curl访问网址错误
基本上远程crul jenkins状态码都让我踩了个遍,另外发现网上说的关闭CSRF用-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true参数压根就不好使,即使你使用了这个参数照样报错,另外csrf关闭机制jenkins官方已经在后续版本都淘汰掉了,在生产环境上漏扫低版本jenkins大家也是遇到过CSRF的漏洞吧?
CSRF解决方案
一.创建API_TOCKEN
二.选择job第二种api调用方法
三.进行测试实验
curl -s -u root:新创建的apitocken -X POST "http://192.168.200.128:8888/job/test/buildWithParameters?token=test" -d 'test=2'
四.验证结果
以上就是jenkins2系列 CSRF应对方法,花了一天加一个上午时间才把问题解决,翻了好多文档最后才发现方法居然这么简单,真的是醉了