負載平衡 - NGINX做TCP轉送到後端伺服器,後端伺服器如何取得使用者的真實IP位址? NGINX伺服器和後端伺服器不在同一個網段
高洛峰
高洛峰 2017-06-16 09:19:41
0
1
1807

最近有一個需求是需要透過一台中轉伺服器轉送TCP請求到真實的後端伺服器,但現在遇到的問題是後端伺服器沒辦法取得到使用者的真實IP。

請注意是TCP連接,不是HTTP,是NGINX的stream模組裡的功能,網上查了很多資料,NGINX官方文檔說是可以解決的,但是沒有給出詳細的操作指導,希望已經實現的朋友可以幫忙解答下,另外問下LVS做負載的話,不在同一網段的機器,後端伺服器是否可以取得到客戶端真實IP?可以的話麻煩給下相關的文章連結。

參考文件:
https://nginx.org/en/docs/str...
https://www.nginx.com/blog/tc...

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆(1)
黄舟

LVS在nat或fullnat模式下,預設都是不能取得到真實IP的。

阿里的fullnat可以透過TCP Option傳遞真實IP給後端。

nginx的stream模組可以透過 proxy protocol https://www.haproxy.org/downl... 來傳遞真實IP。

兩者都有一個共同點:

後端需要修改程式碼才能取得這個IP。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!