Nginx實現ldap認證

一、安裝依賴。html

yum -y install openldap-devel
yum install pcre pcre-devel -y
yum -y install openssl openssl-devel
yum groupinstall "Development Tools" -y

二、下載nginx-auth-ldap模塊。nginx

git clone https://github.com/kvspb/nginx-auth-ldap.git

三、下載tengine壓縮包。git

wget http://tengine.taobao.org/download/tengine-2.2.2.tar.gz

四、編譯安裝tengine。github

tar -xf tengine-2.2.2.tar.gz
cd tengine-2.2.2
./configure
make && make install
tengine默認安裝目錄爲:/usr/loca/nginx.

五、編譯nginx ldap模塊。vim

假設此處ldap認證模塊文件目錄爲:/usr/local/nginx-auth-ldap.

編譯nginx ldap認證模塊
cd /usr/loca/nginx/sbin
./dso_tool --add-module=/usr/local/nginx-auth-ldap

六、加載nginx ldap模塊。服務器

vim nginx.conf

添加dso動態模塊加載。
events {
  worker_connections  1024;
}
dso {
  load ngx_http_auth_ldap_module.so;
}

七、配置nginx ldap認證。ide

如下兩段配置均在http段進行配置。
配置ldap認證服務器信息.

ldap_server xxx-ldap {
    url ldap://ldap服務器ip:port/DC=xxx,DC=com?cn?sub?(objectClass=person);
    binddn "cn=xxx,dc=xxx,dc=xxx";
    binddn_passwd "binddn密碼";
    group_attribute uniquemember;
    group_attribute_is_dn on;
    require valid_user;
}
配置location段使用ldap認證.

server {
  listen       80;
  server_name  localhost;
  location /status {
    stub_status on;
    auth_ldap "Forbidden";
    auth_ldap_servers xxx-ldap;
}
此處ldap認證使用cn做爲用戶名進行認證。
此處ldap認證使用cn做爲用戶名進行認證。
相關文章
相關標籤/搜索