我正在尝试设置Haproxy来对由uri路径标识的一些后端进行负载均衡请求.例如:
应该导致"catalog-v1"后端.
事情是每个应用程序响应不同的路径,所以我不仅要识别应用程序,还要重写URL路径.例如
至
我知道我不应该使用Haproxy进行重写,但现在这是不可避免的.
尝试了以下正则表达式,该正则表达式适用于regex101:
([a-z.]*)\/([a-z0-9\-\.]*)\/([a-z\-]*)\/(.*)
Run Code Online (Sandbox Code Playgroud)
代换:
\1/\3-\2/\4
Run Code Online (Sandbox Code Playgroud)
最后这里是haproxy.config:
global
daemon
user root
group root
maxconn 256000
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
stats socket /run/haproxy/stats.sock mode 777 level admin
defaults
log global
option dontlognull
maxconn 4000
retries 3
timeout connect 5s
timeout client 1m
timeout server 1m
option redispatch
balance roundrobin
listen stats :8088
mode http
stats enable
stats uri /haproxy
stats refresh 5s
backend catalog-v1
mode http
option httpchk …Run Code Online (Sandbox Code Playgroud)