Haproxy子域名重定向配置:实现通配子域名前缀转发
Haproxy子域名重定向配置修改方案
原配置仅能实现固定前缀的重定向,无法提取并携带子域名中的any_word验证码部分。要满足需求,需通过正则捕获子域名的可变部分,再拼接成目标URL。
修改后的完整配置如下:
acl fqdn_register_all hdr_reg(host) -i ^([a-zA-Z0-9-]+)\.registro\.myserver\.com\.br$ redirect location https://app2.otherserver.com.br/register/%[hdr_reg(host),field(1)] code 302 if fqdn_register_all
配置说明:
- 第一行ACL:用
hdr_reg(host)通过正则匹配请求的Host头,^([a-zA-Z0-9-]+)\.registro\.myserver\.com\.br$会把子域名里的any_word捕获到第一个分组(括号内的内容),同时确保匹配的是*.registro.myserver.com.br格式的子域名。 - 第二行重定向:
%[hdr_reg(host),field(1)]会引用刚才捕获的第一个分组内容,拼接到目标路径中,从而实现any_word.registro.myserver.com.br到https://app2.otherserver.com.br/register/any_word的精准重定向。
如果any_word包含特殊字符,可根据实际情况调整正则表达式的字符范围(比如把[a-zA-Z0-9-]+改为更宽泛的匹配规则)。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

