
Quiero que mi HAPROXY 1.5.18actualizar un parámetro en la cadena de consulta(&mc=cg a &mc=cd)
Tengo esta configuración:
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 ...
Ejemplo de URL: https://app3.xy/appse/mashup/ExposeV1/getCa?service=71cceda2-75a8-2cbf-4bc0-69e1a0a352fg&mc=cg&platform=test1
Siempre tengo una salida con mc=cg en lugar de cd (supongo que nunca coincide, pero ¿por qué?).
Probé mi expresión regular en algún probador a través de la red y debería funcionar, pero no funciona...
Alguna idea ? :)
Gracias
Respuesta1
reqirep ^([^\ ]*)(\ .*)mc=cg(.*) \1\2mc=cd\3
Funciona perfectamente.