HAProxy를 사용하여 URL이 프록시 대상 서버의 경로와 일치하지 않는 사이트를 프록시하려고 합니다. 지금은 경로를 편집하는 데 사용할 수 reqrep
있으며 브라우저에서 결국 index.html을 가져오지만 지원 파일(.css, .js ext)은 참조로 나열되어 있어도 로드되지 않습니다. .
예를 들면 www.mysite.com/maps --haproxy--> www.backend-server.com입니다. 내 구성에서 /maps를 제거하여 www.backend-server.com의 웹 서버 루트에 도달하고 index.html을 가져올 수 있지만 이제 .css 및 .js가 로드하려고 할 때 로드할 수 없습니다. www.mysite.com/icons/text.gif
내가 참조해야 한다고 생각할 때 그들은 참조하고 있습니다 www.mysite.com/maps/icons/text.gif
. 또한 이 문제가 있는 다른 앱이 있고 다른 위치에서 .js 및 .css 파일을 가져오기 때문에 .css & .js가 somebackend로 이동한다는 규칙을 만들 수는 없습니다. 이 작업을 올바른 방법으로 수행하려면 어떻게 해야 합니까? 내 구성은 다음과 같습니다.
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