網(wǎng)站首頁 編程語言 正文
需求產(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
相關推薦
- 2023-04-22 python的open函數(shù)使用案例代碼_python
- 2022-04-23 Linux基于客戶端用戶密鑰登錄服務端用戶
- 2022-07-16 Spring MVC重定向和轉發(fā)
- 2022-08-12 Python?Pandas?中的數(shù)據(jù)結構詳解_python
- 2023-04-01 C++11中的智能指針和垃圾回收使用_C 語言
- 2022-08-15 利用judge-width屬性實現(xiàn)Vcharts圖表自適應
- 2022-07-15 Golang配置解析神器go?viper使用詳解_Golang
- 2022-04-17 sa-token快速添加多鑒權體系
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支