我了解我可以使用url_param / urlp从HAProxy中从请求的URL中提取query parameters
。
但是,我需要类似的功能来从作为HTTP标头字段Referer
发送的URL中提取参数。我猜url_param
仅可用于请求的URL,而不能用于HTTP标头值?如果是这样,我还有什么其他选择?我需要从查询参数中检索值,并将其作为特定的HTTP标头发送到后端服务器。
答案 0 :(得分:0)
共享我的解决方案(尽管林先生不确定这是最有效,最准确的方法)。我用正则表达式解决了。
# 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