Al usar HAProxy, estoy intentando hacer proxy de un sitio donde la URL no coincide con la ruta del servidor de destino proxy. En este momento puedo usarlo reqrep
para editar la ruta y en mi navegador termino obteniendo el index.html, sin embargo, no carga ninguno de sus archivos de soporte (.css, .js ext) a pesar de que están enumerados por referencia. .
Por ejemplo www.mysite.com/maps --haproxy--> www.backend-server.com. En mi configuración, elimino /maps para terminar en la raíz del servidor web www.backend-server.com y podemos recuperar index.html, pero ahora, cuando .css y .js intentan cargar, no pueden. están haciendo referencia www.mysite.com/icons/text.gif
cuando supongo que deberían estar haciendo referencia www.mysite.com/maps/icons/text.gif
. Además, no puedo simplemente establecer una regla que diga que .css y .js van a algún backend porque tengo diferentes aplicaciones que tienen este problema y extraen sus archivos .js y .css de diferentes lugares. ¿Cómo hago esto de la manera correcta? Aquí está mi configuración:
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
frontend dev
bind xxx.xx.x.30:80
option forwardfor except 127.0.0.0/8
#Routing based on Web App
acl filebrowser url_beg /maps
use_backend dev.maps if maps
backend dev.maps
option httpclose
option forwardfor
reqrep ^([^\ ]*\ /)maps[/]?(.*) \1\2
server maps maps.backend-server.com:80 check