我将端口号存储在客户端路径中,我想在前端部分的web服务器中使用它。
如何在Haproxy中获取路径内容?我不想使用if命令
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
frontend http80
bind *:2095
mode http
use_backend webs1 if { path -m beg -i /1023 }
use_backend webs2 if { path -m beg -i /5449 }
use_backend webs3 if { path -m beg -i /4855 }
backend webs1
mode http
server webserver1 ip:1023
backend webs2
mode http
server webserver1 ip:5449
backend webs3
mode http
server webserver1 ip:4855
感谢您可以尝试通过http-request set-dst-port
设置dst端口这里有一个未经测试的例子,只是为了让你明白
的意思backend webs2
http-request set-var(txn.dst-port) %[url,'regsub("/","",i)']
http-request set-dst-port %[var(txn.dst-port)]
server webserver1 0.0.0.0:0
下面是http-request set-dst
的文档