我有 HAProxy 服务器的问题。我想在标头中转发客户端 IP。我几乎完成了,但是有一个有趣的案例,我无法弄清楚。我需要在标头的 2 个地方写入客户端 IP,在 X-CLIENT-IP 和 X-FORWARDED-FOR 标签中。
问题是:当我使用
option http-server-close
option forwardfor
Run Code Online (Sandbox Code Playgroud)
在目标服务器上,我在标题 X-FORWARDED-FOR=xxx.xxx.xxx.xxx(client ip) 中看到但没有 x-client-ip 标题。
当我使用:
option forwardfor header X-Client-IP
option http-server-close
Run Code Online (Sandbox Code Playgroud)
在目标服务器上,我看到标头 X-CLIENT-IP=xxx.xxx.xxx(client IP) 但 X-FORWARDED-FOR=xxx.xxx.xxx.xxx(HAProxy ip)
我需要在目标标头上看到 X-CLIENT-IP 和 X-FORWARDED-FOR 具有客户端 IP 的值。
我尝试混合配置,如
option forwardfor
option forwardfor header X-Client-IP
option http-server-close
Run Code Online (Sandbox Code Playgroud)
没有效果。我也不能安装任何模块。目标是IIS。
有任何想法吗?:(
Jak*_*sic 15
您可以尝试设置自定义标题,如下所示:
http-request set-header X-Client-IP %[src]
Run Code Online (Sandbox Code Playgroud)
或者,您甚至可以从 X-Forwarded-For 标头中复制它,我认为语法将类似于:
http-request set-header X-Client-IP req.hdr_ip([X-Forwarded-For])
Run Code Online (Sandbox Code Playgroud)
如果您想同时使用两者,则需要使用http-request
关键字添加第二个。
# add X-FORWARDED-FOR
option forwardfor
# add X-CLIENT-IP
http-request add-header X-CLIENT-IP %[src]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
58725 次 |
最近记录: |