HAProxy を使用して、URL がプロキシ先のサーバーのパスと一致しないサイトをプロキシしようとしています。現在、を使用してreqrep
パスを編集し、ブラウザーで index.html を取得できますが、参照によってリストされているにもかかわらず、サポート ファイル (.css、.js など) が読み込まれません。
たとえば、www.mysite.com/maps --haproxy--> www.backend-server.com です。私の設定では /maps を削除しているので、www.backend-server.com の Web サーバー ルートに行き、index.html を取得できますが、.css と .js を読み込もうとすると、www.mysite.com/icons/text.gif
参照すべきところを参照しているため読み込めませんwww.mysite.com/maps/icons/text.gif
。また、.css と .js が somebackend に移動するというルールを作成することもできません。なぜなら、この問題を抱えているさまざまなアプリがあり、.js と .css ファイルをさまざまな場所から取得しているからです。これを正しく行うにはどうすればよいでしょうか? これが私の設定です:
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