如果它从后端服务器收到404响应,我试图让haproxy重定向到新位置。如果它没有收到404,我希望它能正常回应。
这对我来说很有意义,但似乎无法发挥作用:
frontend front
option httplog
bind *:8080
default_backend app
backend app
balance roundrobin
acl document_request path_beg -i /documents
acl not_there status 404
http-request redirect location http://newlocation/%[path] if document_request not_there
server webserver1 10.10.10.10:8080 check
我收到了以下警告:
acl' not_there'将永远不会匹配,因为它只涉及与后端http请求标头规则不兼容的关键字'
我在Centos 7上使用1.5.14版。
有关如何使这项工作的任何想法?是否有可能做我想做的事情?
非常感谢任何协助。
谢谢,
AL
答案 0 :(得分:1)
http-request redirect
根据检查请求的条件重定向请求(可选)。
status
只能检查响应。 '与http请求标头规则不兼容'表示status
仅与http响应规则兼容。
当您获得状态代码时,您只能重写其响应。
尝试使用http-response set-header
resp编辑位置和状态。 set-status
。
从版本1.6开始,您可以使用http-response redirect
。