2017-02-12 73 views
0

當我嘗試配置SSL SNI時,發現haproxy 1.5存在一些不便。HAProxy - SSL SNI不便

有HAProxy的配置的一個片段:pastebin

我想客戶端IP傳遞到後端。無論我如何配置reqadd/set-header X-Forwarded-For/Real-IP,我總是在X-Forwarded-For中獲得一個haproxy IP地址。

有人試圖通過HAProxy上SSL SSL SNI的真實IP ? :/

回答

0

從這個配置,你似乎在做SNI嗅探,但所有的後端循環回HAProxy本身...這不是一個需要SNI嗅探的情況。也許我忽略了其他需要這個的東西。

它應該很明顯,你爲什麼要獲得代理的IP X-Forwarded-For - HAProxy正在談論自己。通過代理的第一次傳遞是客戶端連接,只要代理可以在第二次傳遞中確定,因爲只有第二次傳遞說HTTP。它只能看到傳入的TCP連接已經到達......自身。

該解決方案是爲第一遍後端使用代理協議和第二遍前端傳遞原始客戶端信息來解碼它。

添加accept-proxybind線用於第二通前端,並添加send-proxyserver線在第一通後端。這樣,在HAProxy與自己交談的連接上,第一遍後端將發送代理協議前導碼,第二遍前端將解碼傳入值並將其放入X-Forwarded-For