首页 > 解决方案 > 从 HAProxy 中的 Referer Header 字段中提取参数

问题描述

我知道我可以使用url_param / urlpquery parameters从 HAProxy 中请求的 URL 中提取。

但是,我需要类似的函数来从作为 HTTP Header field 发送的 URL 中提取参数Referer。我想url_param只对请求的 URL 可用,而不能用于 HTTP Header 值?如果是这样,我还有什么其他选择?我需要从查询参数中检索值并将其作为特定的 HTTP 标头发送到后端服务器。

标签: haproxy

解决方案


分享我的解决方案(尽管我不确定这是最有效和最准确的方法)。我用正则表达式解决了它。

# Example HTTP Referer: http://myexample.com/users?user-id=12345

# ACL
acl is_uid_in_hdr_referer       hdr_sub(Referer)   -i user-id

# Set value from query param "user-id" from Referer header to custom header "user-id"
http-request set-header         user-id %[req.hdr(Referer),regsub(.+?user-id=,,g)]    if is_uid_in_hdr_referer

推荐阅读