Redirect HAProxy 1.5重定向:从短URL重定向到FQDN,同时保持路径不变

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。不过,我在设置概念验证时遇到了一些问题,我正试图找出正确的前端设置应该从以下几点开始: 这是我的前端大致的样子;当然,为了更改名称,我对其进行了一些清理

我的问题基本上就是标题所说的。我在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时,我会重定向到员工/主页