導航:首頁 > 代理服務 > nginx如何代理tcp的連接

nginx如何代理tcp的連接

發布時間:2025-02-25 15:39:09

❶ Nginx Ingress TCP代理實現

一般使用ingress都是代理http流量,但是有些場景希望代理tcp流量,例如:不想佔用過多的公網IP。

開源的ingress對tcp支持不是很好,主要原因在於 k8s的Ingress沒有給tcp留下插入點 ,可以通過ingress定義 kubectl explain ingress.spec.rules 證實。

ingress http代理簡單來說,暴露一個http服務,根據host和path轉發用戶請求到真正的svc(用戶請求帶有host)。tpc代理就是暴露一堆埠號,不同的埠對應不同的後端svc。

官網 暴露TCP服務 章節,介紹可以通過 --tcp-services-configmap 暴露tcp服務,具體怎麼使用沒有實踐之前一直不是很理解。

通過chart安裝包可以獲取nginx-ingress-controller deployment啟動配置。

deploy腳本示例

tcp的相關配置通過configmap存儲,需要注意data屬性,controller會解析它。

登陸controller的Pod,直接查看nginx.conf,在最後一行,可以看到nginx代理配置。直接通過 curl localhost:8080 ,可以正常訪問服務。

nginx.conf示例

整體架構可以參考
https://blog.csdn.net/shida_csdn/article/details/84032019

NGINXController有個channel,所有更新事件通過watch傳到這個channel;同時channel通過queue綁定NGINXController的syncIngress,用於處理變更事件。

有關watch的初始化在store.go中實現,當key的名稱為tpcconfigmap時,會觸發更新。
internal/ingress/controller/store/store.go

1)在tcp configmap手動新增配置,ingress contorller svc會不會動態改變?

更多文章見: http://huiwq1990.github.io/

❷ Nginx反向代理TCP協議【反代SSH埠】

當需要通過Nginx間接訪問TCP協議的服務,如SSH,以實現埠轉發時,一個常見的需求應運而生。

要實現這一目標,首先需要理解反向代理的工作原理。Nginx作為一款強大的網路伺服器,能夠將客戶端的請求轉發到後端伺服器,即使後端伺服器運行的是非HTTP協議,如TCP。這里,我們關注的是如何配置Nginx來代理SSH連接。

配置過程中,關鍵在於設置正確的代理規則。通常,需要在Nginx的配置文件中添加一個新的location塊,指定監聽的埠(如22822)以及目標伺服器的地址和SSH埠(默認為22)。確保防火牆和Nginx伺服器的許可權設置允許這種通信。

在實施時,注意事項不可忽視。首先,要確保Nginx配置的正確性,避免語法錯誤。其次,檢查目標SSH伺服器的配置,確認它是否允許來自Nginx代理的連接。還要注意安全,可能需要使用SSL/TLS加密,以保護數據傳輸。

深入了解Nginx的proxy_pass指令和相關模塊,如stream模塊,可以幫助你更精確地管理TCP代理。同時,定期檢查Nginx日誌以發現和解決問題也是必不可少的。

一旦配置完成,SSH客戶端只需連接到VPS的22822埠,即可成功地通過Nginx反向代理訪問SSH服務。至此,反代任務已順利完成,可以開始高效地使用了。

閱讀全文

與nginx如何代理tcp的連接相關的資料

熱點內容
產品打標簽怎麼辦 瀏覽:30
如何交易eth合約 瀏覽:285
電腦程序設置到底哪個是cf 瀏覽:213
股票交易中金叉什麼意思 瀏覽:110
如何管理動態數據 瀏覽:438
為什麼打開移動數據總是自動關閉 瀏覽:562
如何從兩個表中篩選相同數據 瀏覽:952
銀行卡沒有設置交易密碼怎麼辦 瀏覽:820
理財產品丟了怎麼換卡 瀏覽:877
如何上傳圖片到微信相冊小程序 瀏覽:499
銀行消費貸款產品有哪些 瀏覽:243
大連鋼材市場在什麼地方 瀏覽:378
dic測量技術怎麼樣 瀏覽:967
增駕d照成功多久查詢到信息 瀏覽:840
互聯網交易想退出怎麼辦 瀏覽:158
明日之後交易之城為什麼會失敗 瀏覽:789
無錫活禽市場哪裡有 瀏覽:66
瑞幸補貼市場怎麼樣 瀏覽:503
nginx如何代理tcp的連接 瀏覽:701
有什麼下載歌曲的小程序 瀏覽:212