强制执行HAproxy匹配顺序

时间:2018-08-24 19:22:01

标签: haproxy

我遇到一个问题,我们有example.com和www.example.com都需要重定向到https://www.example.com,但是随后我们又需要重定向各个页面。所以我有一个方案重定向规则,例如:

http-request redirect scheme https code 301 if {!{ ssl_fc }

我也有类似的规则

redirect location https://www.example.com/some/path/to/content if { path -i /quickurl }     

问题是,如果您转到http://example.com/quickurl,将被重定向到https://example.com/quickurl,然后将重定向到https://www.example.com/some/path/to/content

最终,营销部门希望我们进行一次重定向。即使redirect location匹配URL,并且一经命中将重定向到正确的https端点,http-request redirect scheme总是始终被命中(配置中的顺序无关紧要)

我还尝试过将方案匹配项转换为redirect location,就像其他方案一样,并认为“最具体的”规则将获胜。似乎也并非如此。无论我总是以2次重定向结束。

所以我有两个主要问题:

  1. 有没有一种方法可以完成重定向特定URL的同时 捕获所有规则以强制HTTPS流量而不会引起多跳?
  2. 在任何地方都可以找到指定匹配顺序的文档吗?

0 个答案:

没有答案