1 jenkins用apache作为反向代理,添加报文头
浏览器-反代-apache(添加报文头),REMOTE_USER,在jenkins服务器上去抓包,即
tcpdump -i eth0 port 8080 -w jenkins.cap
-i 指定监听的网络接口;
其中:eth0为网卡
-w 直接将包写入文件中,并不分析和打印出来
对于eth0,可以通过ifconfig查看网卡的ip信息
如果中间出现,cpdump报错:Permission denied
则查看tcpdump运行模式:
grep tcpdump/sys/kernel/security/apparmor/profiles
/usr/sbin/tcpdump (enforce)
上面显示是enforce模式,所以有这个问题,把它改成complain模式:
aa-complain /usr/sbin/tcpdump
再次使用tcpdump 并写文件的时候就没问题了。
想在转换成enforce模式时:
aa-enforce /usr/sbin/tcpdump
之后通过 Wireshark去查看该cap文件,找到get请求,之后双击,即可看到包的信心。
注:apache配置如下:/etc/apache2/sites-enabled目录下的000-default.conf文件
即:
<LocationMatch "(/jenkins/.*$)">
Authtype CAS
CASAuthNHeader REMOTE_USER
require valid-user
</LocationMatch>
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /jenkins http://ip:8080/jenkins
ProxyPassReverse /jenkins http://ip:8080/jenkins
之后重启apache2, service apache2 restart
2 jenkins配置反向代理(使用ldap)
jenkins安装新插件Reverse Proxy Auth Plugin,之后重启jenkins,service jenkins restart
配置为:系统管理-Configure Global Security-》HTTP Header by reverse proxy
Header User Name: REMOTE_USER (apache返回的报文头)
Header Groups Name: 返回的组
Header Groups Delimiter Name:| (默认)
点击高级后,可以配置ldap中信息(中间可能有ERROR,404类的,不影响提取ldap中数据)
Server:ldap服务器ip:389
root DN:根dn
下面为对用户的组的搜索,按以前博客写的ldap进行配置即可。
注:最下的
Display Name LDAP attribute:displayname
Email Address LDAP attribute:mail