Redirect HAProxy 1.5重定向:从短URL重定向到FQDN,同时保持路径不变
我的问题基本上就是标题所说的。我在foo.internal.com的DNS后面安装了HA代理。我想将配置设置为从短url foo/internal重定向到完整url,同时保留路径。因此,如果客户端转到foo/internal/employee_profiles,则应将其重定向到foo.internal.com/employee_profiles。不过,我在设置概念验证时遇到了一些问题,我正试图找出正确的前端设置应该从以下几点开始: 这是我的前端大致的样子;当然,为了更改名称,我对其进行了一些清理,但基本前提是相同的:Redirect HAProxy 1.5重定向:从短URL重定向到FQDN,同时保持路径不变,redirect,acl,haproxy,Redirect,Acl,Haproxy,我的问题基本上就是标题所说的。我在foo.internal.com的DNS后面安装了HA代理。我想将配置设置为从短url foo/internal重定向到完整url,同时保留路径。因此,如果客户端转到foo/internal/employee_profiles,则应将其重定向到foo.internal.com/employee_profiles。不过,我在设置概念验证时遇到了一些问题,我正试图找出正确的前端设置应该从以下几点开始: 这是我的前端大致的样子;当然,为了更改名称,我对其进行了一些清理
frontend http
maxconn 2000
bind 0.0.0.0:8000
acl valid_subsite path_beg /employee /client
####################################################################################
acl short_url_employee_domain hdr(host) -i foo/internal/employee/.*
http-request set-header X-Location-Path %[capture.req.uri] if short_url_employee_domain
http-request replace-header X-Location-Path [^/]+/(.*) \1 if short_url_employee_domain
acl short_url_client_domain hdr(host) -i foo/internal/client/.*
http-request set-header X-Location-Path %[capture.req.uri] if short_url_client_domain
http-request replace-header X-Location-Path [^/]+/(.*) \1 if short_url_client_domain
acl employee_http path_reg ^/employee/.*
use_backend employee_http_server if employee_http
acl client_http path_reg ^/clients/.*
use_backend client_http_server if client_http
http-request redirect code 301 location http://%[hdr(host)]/employee/home if !valid_path
http-request redirect prefix http://foo.internal.com/%[hdr(X-Location-Path)] code 301 if short_url_employee_domain
http-request redirect prefix http://foo.internal.com/%[hdr(X-Location-Path)] code 301 if short_url_client_domain
####################################################################################
您会注意到我有一个重定向acl。当我使用FQDN时,我能够很好地导航,但是当我尝试使用缩短的url时,我会重定向到员工/主页