使用Nginx實(shí)現(xiàn)端口轉(zhuǎn)發(fā)TCP代理的實(shí)現(xiàn)示例
需求產(chǎn)生背景
最近同事在測(cè)試和生產(chǎn)環(huán)境中分別部署了一套應(yīng)用,由于應(yīng)用只能集成LDAP,而我們公司使用的是AD,于是我搭建了一個(gè)OpenLDAP服務(wù),賬號(hào)先通過(guò)lsc從AD同步到OpenLDAP,然后使用saslauthd傳遞身份驗(yàn)證到AD。在測(cè)試環(huán)境中我們的應(yīng)用能夠連接LDAP登錄,但是在生產(chǎn)環(huán)境中卻無(wú)法訪(fǎng)問(wèn)到OpenLDAP服務(wù)器,我不想重復(fù)的在生產(chǎn)環(huán)境重新安裝維護(hù)一套OpenLDAP服務(wù),這個(gè)過(guò)程比較繁瑣,還需通過(guò)定時(shí)任務(wù)每天讓AD的賬號(hào)與OpenLDAP同步,于是我想這可以通過(guò)端口轉(zhuǎn)發(fā)實(shí)現(xiàn),節(jié)點(diǎn)之間的拓?fù)浯蟾畔裣旅孢@樣。

為什么要使用Nginx實(shí)現(xiàn)
在百度上搜索端口轉(zhuǎn)發(fā),實(shí)現(xiàn)的方式有很多種,多數(shù)都是通過(guò)Iptables實(shí)現(xiàn),但是我分別在Ubuntu和CentOS服務(wù)器上測(cè)試過(guò)都沒(méi)生效,無(wú)奈選擇Nginx來(lái)實(shí)現(xiàn)
使用Nginx實(shí)現(xiàn)端口轉(zhuǎn)發(fā)
如果我們的操作系統(tǒng)比較新,可以直接直接通過(guò)軟件源安裝nginx,只要nginx版本大于1.9默認(rèn)是支持TCP代理的。
檢查nginx是否支持TCP代理
nginx -V
當(dāng)我們?cè)谳敵龅呐渲脜?shù)中包含
--with-stream說(shuō)明nginx是支TCP代理的
安裝依賴(lài)
RHEL/CentOS/Fedora
yum install -y pcre* openssl*
Debian/Ubuntu
apt-get install zlib1g-dev libpcre++-dev openssl
下載依賴(lài)
wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz tar -zxvf ngx_cache_purge-2.3.tar.gz -C /usr/local/src
下載并安裝
下載源碼包
wget http://nginx.org/download/nginx-1.9.9.tar.gz
解壓
tar -zxf nginx-1.9.9.tar.gz
編譯安裝
cd nginx-1.9.9 ./configure --prefix=/usr/local/nginx \ --add-module=/usr/local/src/ngx_cache_purge-2.3 \ --with-http_stub_status_module --with-stream make && make install;
修改配置文件
/usr/local/nginx/conf/nginx.conf
events {
...
}
stream {
upstream ldap {
hash $remote_addr consistent;
server 192.168.1.8:389;
}
server {
listen 1389;
proxy_connect_timeout 5s;
proxy_timeout 5s;
proxy_pass ldap;
}
}
http {
...
}
這個(gè)示例我們將本地的1389端口轉(zhuǎn)發(fā)到192.168.1.8的389端口上
啟動(dòng)并檢查服務(wù)是否正常
啟動(dòng)nginx服務(wù)
/usr/local/nginx/sbin/nginx
檢查nginx進(jìn)程
netstat -anput | grep nginx

到此這篇關(guān)于使用Nginx實(shí)現(xiàn)端口轉(zhuǎn)發(fā)TCP代理的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Nginx端口轉(zhuǎn)發(fā)TCP代理內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信