HAProxy配置:使用重定向选项时如何保留原始URL?
HAProxy 2.7.8 服务器级请求头配置支持问题
我为家庭负载均衡器搭建了HAProxy,服务器地址为myhaproxy,期望访问时地址栏始终显示myhaproxy,而非后端的server1.local或server2.local。
基础配置触发404错误
使用以下配置时会出现404错误,原因是后端服务器检测到无登录会话时会重定向至登录站点:
frontend myfrontends bind *:80 bind *:443 ssl crt /usr/local/etc/haproxy/certs/ redirect scheme https if !{ ssl_fc } default_backend mybackends_https backend mybackends_https balance roundrobin server server1 server1.local:443 check ssl verify none server server2 server2.local:443 check ssl verify none
带redir的配置可工作但URL会跳转
以下配置能正常运行,但访问时URL会从myhaproxy变为server1.local或server2.local,不符合需求:
backend mybackends_https balance roundrobin server server1 server1.local:443 redir https_server1.local check ssl verify none server server2 server2.local:443 redir https_server2.local check ssl verify none
尝试的解决方案存在局限
我尝试通过全局设置Host头来保留myhaproxy的URL,但该方式只能适配单后端,无法应对多后端场景(无法预知HAProxy会选中哪台后端服务器):
backend mybackends_https balance roundrobin http-request set-header Host server1.local server server1 server1.local:443 check ssl verify none
核心疑问
请问HAProxy 2.7.8是否支持服务器级别的请求头设置,即如下配置方式:
backend mybackends_https balance roundrobin server server1 server1.local:443 set-header Host server1.local check ssl verify none server server2 server2.local:443 set-header Host server2.local check ssl verify none
注:文中https_是为绕过垃圾信息检测,实际应为https://
内容的提问来源于stack exchange,提问作者mltobing
相关产品推荐
相关产品推荐

