jenkins反向代理整合ldap数据header认证

来源:互联网 发布:基站三角定位算法 编辑:程序博客网 时间:2024/06/07 01:41

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





2 0