HAProxy 添加 header 基于 URL 参数

HAProxy add header based on URL parameter

使用HAProxy v1.6

我正在执行当前(至少在 javascript)不支持自定义 headers 的 Websocket 请求。

我正在尝试根据获取参数

在 HAProxy 层添加自定义 header(在将其转发到负载均衡器之前)

示例:

下一个代码有效(在后端)

#match get-url someGetKey paramater
acl is_key_match        url_reg          \?(?:.*?)someGetKey=([\w|=]+)
#Add header
http-request set-header My-Custom-Header hardcoded_string if is_key_match

我的目标是将 hardcoded_string 替换为正则表达式的第一个匹配组 \?(?:.*?)someGetKey=([\w|=]+)

可能吗?

谢谢!

找到解决方案:

http-request set-header cookie %[urlp(SSession)] if is_sticky_url

%[] - 变量
url(SSession) - HTTP-GET 带有键 SSession

的参数

例如,URL:

https://www.example.com/path?sSession=abcd

将转发带有 header 的请求:

cookie=abcd