Redirect HAProxy-添加尾部斜杠
我正在从事一个项目,在这个项目中,我需要将发送到特定页面的请求路由到单独的后端 例如,对的所有请求都将转到后端“A”。但是,如果导航到,我希望它转到后端“B” 现在,我有这个工作,但遇到一个问题,我需要尾部斜杠,这是正确的工作 所以,我需要一种方法来说明请求是否重定向到 以下是迄今为止我的配置示例:Redirect HAProxy-添加尾部斜杠,redirect,web,haproxy,Redirect,Web,Haproxy,我正在从事一个项目,在这个项目中,我需要将发送到特定页面的请求路由到单独的后端 例如,对的所有请求都将转到后端“A”。但是,如果导航到,我希望它转到后端“B” 现在,我有这个工作,但遇到一个问题,我需要尾部斜杠,这是正确的工作 所以,我需要一种方法来说明请求是否重定向到 以下是迄今为止我的配置示例: frontend f_https bind *:443 ssl crt cert.pem reqadd X-Forwarded-Proto:\ https #define
frontend f_https
bind *:443 ssl crt cert.pem
reqadd X-Forwarded-Proto:\ https
#define hosts
acl host_a hdr(host) -i a.mycooldomain.com
acl host_b hdr(host) -i b.mycooldomain.com
acl host_c hdr(host) -i c.mycooldomain.com
#custom acls
acl secret path_beg -i /secretpage
#Custom redirects
##define backend
use_backend b_secret if secret
use_backend b_a if host_a
use_backend b_b if host_b
use_backend b_c if host_c
default_backend b_https
backend b_secret
server secret 192.168.15.15:5575 check
你似乎在寻找这样的东西:
http-request redirect scheme https drop-query append-slash if { path -m str /secretpage }
http-request set-header X-Forwarded-Proto https
如果将其应用于前端或后端,则应能正常工作
只需要指定方案,因为语法需要location | prefix | scheme
中的一个,使用其他两个选项,您必须自己在配置中重新组合URL
还要注意的是,
reqadd
并不是官方反对的,但是添加该请求头的首选方法如下:
http-request redirect scheme https drop-query append-slash if { path -m str /secretpage }
http-request set-header X-Forwarded-Proto https
请注意,未指定任何
:
,标题名称后的空格不能用\
转义。这实现了相同的结果,但它在HAProxy中使用了不同的代码路径,应该是一种更高效的操作。您可能希望使用http请求
和http响应
指令,而不是reqxxx
和rspxxx
,因为它们也更适合于更复杂的操作。这非常有效!非常感谢您对文档的详细回复和参考。我正在接近,但还没有尝试过这种方法。