日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

使用Nginx實現(xiàn)端口轉發(fā)TCP代理的實現(xiàn)示例_nginx

作者:翟衛(wèi)衛(wèi) ? 更新時間: 2022-03-16 編程語言

需求產(chǎn)生背景

最近同事在測試和生產(chǎn)環(huán)境中分別部署了一套應用,由于應用只能集成LDAP,而我們公司使用的是AD,于是我搭建了一個OpenLDAP服務,賬號先通過lsc從AD同步到OpenLDAP,然后使用saslauthd傳遞身份驗證到AD。在測試環(huán)境中我們的應用能夠連接LDAP登錄,但是在生產(chǎn)環(huán)境中卻無法訪問到OpenLDAP服務器,我不想重復的在生產(chǎn)環(huán)境重新安裝維護一套OpenLDAP服務,這個過程比較繁瑣,還需通過定時任務每天讓AD的賬號與OpenLDAP同步,于是我想這可以通過端口轉發(fā)實現(xiàn),節(jié)點之間的拓撲大概像下面這樣。

在這里插入圖片描述

為什么要使用Nginx實現(xiàn)

在百度上搜索端口轉發(fā),實現(xiàn)的方式有很多種,多數(shù)都是通過Iptables實現(xiàn),但是我分別在Ubuntu和CentOS服務器上測試過都沒生效,無奈選擇Nginx來實現(xiàn)

使用Nginx實現(xiàn)端口轉發(fā)

如果我們的操作系統(tǒng)比較新,可以直接直接通過軟件源安裝nginx,只要nginx版本大于1.9默認是支持TCP代理的。

檢查nginx是否支持TCP代理

nginx -V

當我們在輸出的配置參數(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 {
  ...
}

這個示例我們將本地的1389端口轉發(fā)到192.168.1.8的389端口上

啟動并檢查服務是否正常

啟動nginx服務

/usr/local/nginx/sbin/nginx

檢查nginx進程

netstat -anput | grep nginx

原文鏈接:https://blog.csdn.net/jack170601/article/details/122114545

欄目分類
最近更新