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)