Openshift 已设置的X-Forwarded-Host标头不应被HaProxy覆盖

Openshift 已设置的X-Forwarded-Host标头不应被HaProxy覆盖,openshift,router,haproxy,Openshift,Router,Haproxy,有人能告诉我如何在openshift 3.11中配置自定义ha代理路由器(haproxy config.template)以避免X-Forwarded-Host、X-Forwarded-Port和X-Forwarded-Proto头在haproxy已设置时不被覆盖。如果未设置标头,则应根据HTTP标准进行设置 我试过了,但不起作用 谢谢, Santosh下面的代码对我很有用: 旧配置: http-request set-header X-Forwarded-Host %[req.hdr(h

有人能告诉我如何在openshift 3.11中配置自定义ha代理路由器(haproxy config.template)以避免X-Forwarded-Host、X-Forwarded-Port和X-Forwarded-Proto头在haproxy已设置时不被覆盖。如果未设置标头,则应根据HTTP标准进行设置

我试过了,但不起作用

谢谢,
Santosh

下面的代码对我很有用:

旧配置:

   http-request set-header X-Forwarded-Host %[req.hdr(host)]
   http-request set-header X-Forwarded-Port %[dst_port]
   http-request set-header X-Forwarded-Proto http if !{ ssl_fc }
   http-request set-header X-Forwarded-Proto https if { ssl_fc }
更改为新的:

   acl h_xfh_exists req.hdr(X-Forwarded-Host) -m found
   http-request set-header X-Forwarded-Host %[req.hdr(host)] unless h_xfh_exists
   acl h_xfport_exists req.hdr(X-Forwarded-Port) -m found
   http-request set-header X-Forwarded-Port %[dst_port] unless h_xfport_exists
   acl h_xfproto_exists req.hdr(X-Forwarded-Proto) -m found
   http-request set-header X-Forwarded-Proto http if !{ ssl_fc } !h_xfproto_exists
   http-request set-header X-Forwarded-Proto https if { ssl_fc } !h_xfproto_exists