
私は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 ...
常に cd ではなく mc=cg が出力されます (一致することはないと思いますが、なぜでしょうか)。
私は自分の正規表現をネット上のテスターでテストしましたが、動作するはずなのに動作しません...
何か案が ? :)
ありがとう
答え1
reqirep ^([^\ ]*)(\ .*)mc=cg(.*) \1\2mc=cd\3
完璧に動作します。