Skip to content

LDAP proxy

Umoznuje nam presouvat klienty, kteri pouzivaji LDAP synchronizaci a maji povoleny pristup z definovanych IP. LDAP proxy poskytuje prave tu stabilni IP, kterou oni nastavi na svem firewallu a my stale muzeme zachovat flexibilitu presouvani aplikace mezi servery.

Add new client

Nainstaluje se nginx

apt-get install nginx libnginx-mod-stream

do /etc/nginx/nginx.conf se přidá sekce stream a zakomentuje sekce http {} (která se nebude používat):

stream {
        include /etc/nginx/backends/tcpproxy-enabled/*;
}
$COMPANY_NAME = Easyredmine aplikace (aplikace1.easyredmine.com)
$LDAP_PORT = zákaznický port aplikace (zpravidla 389 nebo 636 pro LDAPS, v aplikaci musí být nastaveno zda se má připojovat přes SSL nebo ne)
$COMPANY_NAME_URL = URL zákazníka kde běží ldap nebo IP adresa
$CLOUD_LDAP_PORT = na serveru unikátní port, zvolený pro aplikaci

Pro přidání tcp přidáme do /etc/nginx/backends/tcpproxy-enabled symbolický link: ln -s /etc/nginx/backends/tcpproxy-available/$COMPANY_NAME.com.conf /etc/nginx/backends/tcpproxy-enable/$COMPANY_NAME.com.conf

A /etc/nginx/backends/tcpproxy-available kofiguraci $COMPANY_NAME.conf

upstream $COMPANY_NAME {
    server $COMPANY_NAME_URL:$LDAP_PORT;
}

server {
        listen $CLOUD_LDAP_PORT;
        proxy_pass $COMPANY_NAME;
}

V případě že chceme použít stejný port pro více aplikací na jiných serverech ($ musí být escapovaný)

upstream no-host { 
   server 127.0.0.1:1000; 
} 
upstream $COMPANY_NAME1 {
    server $COMPANY_NAME_URL1:$LDAP_PORT1;
}
upstream $COMPANY_NAME2 {
    server $COMPANY_NAME_URL2:$LDAP_PORT2;
}
upstream $COMPANY_NAME3 {
    server $COMPANY_NAME_URL2:$LDAP_PORT2;
}

map \$remote_addr \$upstream-port-$CLOUD_LDAP_PORT { 
   <IP adresa easy aplikace dalšího-zakazníka na stejném serveru s ldapem> $COMPANY_NAME1;
   <IP adresa easy aplikace dalšího-zakazníka na stejném serveru s ldapem> $COMPANY_NAME2;
   <IP adresa easy aplikace dalšího-zakazníka na stejném serveru s ldapem> $COMPANY_NAME3;
   default     no-host; 
} 
   server { 
       listen $CLOUD_LDAP_PORT; 
       proxy_pass \$upstream-port-$CLOUD_LDAP_PORT; 
   } 

by Frantisek bubenicek (email)