@yakatz wrote:
We have a lot of projects with subdomains, so we set up haproxy to rewrite the path to match the subdomain and we have a CNAME for each project to
projects.example.com
:listen projects_example_com bind ip_address:443 ssl crt /etc/haproxy/ssl/star_example_com.pem bind ip_address:80 mode http acl is_root var(req.rewrite_project) projects http-request set-var(req.rewrite_project) req.hdr(host),lower,regsub(\.example\.com$,) if { hdr_end(host) -i .example.com } http-request set-path /projects/%[var(req.rewrite_project)]%[path] if { var(req.rewrite_project) -m found } use_backend projects_default if is_root use_backend projects_backend-ssl if { ssl_fc } use_backend projects_backend if !{ ssl_fc } backend projects_backend mode http server server1 172.24.0.33:8034 check server server2 172.24.0.34:8034 check server server3 172.24.0.41:8034 check backend projects_backend-ssl mode http server server1 172.24.0.33:8434 check ssl verify none server server2 172.24.0.34:8434 check ssl verify none server server3 172.24.0.41:8434 check ssl verify none backend projects_default mode http errorfile 503 /etc/haproxy/errors/projects.html.http
This works great except when you go to
http://project2.example.com/folder
and the backend Apache server tries to add the missing trailing slash by redirecting tohttp://project2.example.com/projects/project2/folder/
, which then results in the new request for a folder that doesn’t exist,/projects/project2/projects/project2/folder/
. Is there any way to get HAProxy to filter the returned URL to remove the extra/projects/project2
?
Posts: 1
Participants: 1