当我尝试配置SNI时,我在haproxy 1.5中发现了一些不便。
有一个haproxy配置的片段:巴斯丁
我想把客户端IP传给后端。无论我如何配置reqadd /set-报头X转发-For/Real,我总是在X转发-For中得到一个haproxy地址。
有人试图在HAProxy上使用SSL传递真正的IP?:/
发布于 2017-02-12 17:24:29
从这种配置中,您似乎正在进行SNI嗅探,但是所有后端都在循环回HAProxy本身.在这种情况下,需要进行SNI嗅探。也许我忽略了其他需要这个的东西。
很明显,为什么您要在X-Forwarded-For中获取代理的IP -- HAProxy正在自言自语。第一个通过代理的是客户端连接,只要代理能够在第二次传递时确定,因为只有第二次传递是HTTP。它只看到一个传入的TCP连接已经到达..。从自己身上。
解决方案是第一次通过后端使用代理协议传递原始客户端信息,第二遍前端对其进行解码。
将accept-proxy添加到第二遍前端的bind行中,并在第一次通过后端的server行中添加send-proxy。这样,在HAProxy与自己对话的连接上,第一次通过后端将发送代理协议序言,第二次通过的前端将解码传入值并将其放置在X-Forwarded-For中。
https://stackoverflow.com/questions/42187861
复制相似问题