Reqrep 不会在 HAPROXY 1.5.18 上更新我的查询字符串

Reqrep 不会在 HAPROXY 1.5.18 上更新我的查询字符串

我希望我的 HAPROXY 1.5.18更新查询字符串中的参数(&mc=cg 到 &mc=cd)

我有这个配置:

global
    user haproxy
    group haproxy
    pidfile /var/run/haproxy.pid
    daemon

defaults
    log                 global
    mode                http
    retries             3
    balance             roundrobin
    maxconn             1000
    option              redispatch
    timeout client      10m
    timeout server      10m
    timeout queue       5s
    timeout connect     5s

    log-format [%t]\ [%ci/%ft/%b/%s]\ [%Tq/%Tw/%Tc/%Tr/%Tt]\ [%ac/%fc/%bc/%sc/%rc]\ [%sq/%bq]\ %ST\ %B\ %{+Q}r\ %hr

frontend F_4_RPA
    bind 192.168.100.200:443 ssl crt /etc/ssl/certs/app_cert.pem
    acl APP1_ACL hdr(host) -i app1.x.y
    acl APP2_ACL hdr(host) -i app2.x.y
    acl APP3_ACL hdr(host) -i app3.x.y
    use_backend B_2_APP1 if IGT_ACL
    use_backend B_2_APP2 if ADT_ACL
    use_backend B_2_APP3 if EXP_ACL


backend B_2_APP3
    reqirep ^([^\ ]*)mc=cg(.*)    \1mc=cd\2
    server app301 ...
    server app302 ...

URL 示例: https://app3.xy/appse/mashup/ExposeV1/getCa?service=71cceda2-75a8-2cbf-4bc0-69e1a0a352fg&mc=cg&platform=test1

我的输出总是 mc=cg 而不是 cd (我猜它从未匹配但是为什么呢?)。

我已经在网上的某些测试器上测试了我的正则表达式,它应该可以工作,但事实却并非如此......

任何想法 ? :)

谢谢

答案1

reqirep ^([^\ ]*)(\ .*)mc=cg(.*)    \1\2mc=cd\3

运行完美。

相关内容