使用Nginx實(shí)現(xiàn)端口轉(zhuǎn)發(fā)TCP代理的實(shí)現(xiàn)示例
需求產(chǎn)生背景
最近同事在測試和生產(chǎn)環(huán)境中分別部署了一套應(yīng)用,由于應(yīng)用只能集成LDAP,而我們公司使用的是AD,于是我搭建了一個(gè)OpenLDAP服務(wù),賬號(hào)先通過lsc從AD同步到OpenLDAP,然后使用saslauthd傳遞身份驗(yàn)證到AD。在測試環(huán)境中我們的應(yīng)用能夠連接LDAP登錄,但是在生產(chǎn)環(huán)境中卻無法訪問到OpenLDAP服務(wù)器,我不想重復(fù)的在生產(chǎn)環(huán)境重新安裝維護(hù)一套OpenLDAP服務(wù),這個(gè)過程比較繁瑣,還需通過定時(shí)任務(wù)每天讓AD的賬號(hào)與OpenLDAP同步,于是我想這可以通過端口轉(zhuǎn)發(fā)實(shí)現(xiàn),節(jié)點(diǎn)之間的拓?fù)浯蟾畔裣旅孢@樣。
為什么要使用Nginx實(shí)現(xiàn)
在百度上搜索端口轉(zhuǎn)發(fā),實(shí)現(xiàn)的方式有很多種,多數(shù)都是通過Iptables實(shí)現(xiàn),但是我分別在Ubuntu和CentOS服務(wù)器上測試過都沒生效,無奈選擇Nginx來實(shí)現(xiàn)
使用Nginx實(shí)現(xiàn)端口轉(zhuǎn)發(fā)
如果我們的操作系統(tǒng)比較新,可以直接直接通過軟件源安裝nginx,只要nginx版本大于1.9默認(rèn)是支持TCP代理的。
檢查nginx是否支持TCP代理
nginx -V
當(dāng)我們在輸出的配置參數(shù)中包含
--with-stream
說明nginx是支TCP代理的
安裝依賴
RHEL/CentOS/Fedora
yum install -y pcre* openssl*
Debian/Ubuntu
apt-get install zlib1g-dev libpcre++-dev openssl
下載依賴
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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx將https協(xié)議反向代理到http協(xié)議請求上的實(shí)現(xiàn)
本文主要介紹了nginx將https協(xié)議反向代理到http協(xié)議請求上的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10Nginx將http轉(zhuǎn)換成https的詳細(xì)過程
相信大家在現(xiàn)有項(xiàng)目里都會(huì)通過https訪問,這篇文章主要給大家介紹了關(guān)于Nginx將http轉(zhuǎn)換成https的詳細(xì)過程,文中將實(shí)現(xiàn)的方法介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05Nginx實(shí)現(xiàn)外網(wǎng)訪問內(nèi)網(wǎng)的步驟詳解
外網(wǎng)瀏覽器與內(nèi)網(wǎng)是不通的,但是外網(wǎng)與中間過渡服務(wù)器是通的,中間過渡服務(wù)器與內(nèi)網(wǎng)服務(wù)器是通的,這樣在外網(wǎng)訪問過渡服務(wù)器時(shí),過渡服務(wù)器再跳轉(zhuǎn)到后臺(tái)服務(wù)器,本文給大家介紹了Nginx外網(wǎng)訪問內(nèi)網(wǎng)如何實(shí)現(xiàn)步驟,需要的朋友可以參考下2023-10-10nginx實(shí)現(xiàn)請求轉(zhuǎn)發(fā)
本文給大家分享的是使用nginx實(shí)現(xiàn)代理(請求轉(zhuǎn)發(fā))的教程及簡單示例,非常實(shí)用,有需要的小伙伴可以參考下2017-07-07HipChat上傳文件報(bào)未知錯(cuò)誤的原因分析及解決方案
HipChat的功能類似于Campfire、Sazneo等在線協(xié)同工具,并且和Yammer以及Salesforce的Chatter等企業(yè)社交平臺(tái)有一定相似之處。你可以為單個(gè)項(xiàng)目或者小組搭建自有的聊天室,也可以很方便的發(fā)起一對(duì)一聊天2016-01-01nginx處理http請求實(shí)現(xiàn)過程解析
這篇文章主要介紹了nginx處理http請求實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11