Tente isto:
http-response set-header Cache-Control no-cache,\ max-age=600 if { capture.req.uri -m beg /api/ }
capture.req.uri
persiste até que a resposta seja processada, ao contrário de path
, o que não ocorre.
Algumas notas:
Este exemplo usa uma ACL anônima. Você também pode fazer isso com uma ACL nomeada, mas isso leva 2 linhas.
Não há motivo para saber por que você deve citar o valor max-age.
Você provavelmente não deseja add-header
, você deseja set-header
, o que garante que, se um já estiver presente, ele será removido.
acl path_acl %[var(txn.path)] -m ^/api/(.*)$
provavelmente está escrito corretamente como acl path_acl var(txn.path) -m ^/api/(.*)$
. O HAProxy é um pouco complicado quando espera %[ ]
e quando não. Tenho certeza que há um padrão, mas não estou claro o que é isso.