HAProxy 代理非真實路徑

HAProxy 代理非真實路徑

我正在嘗試使用 HAProxy 代理一個 URL 與代理目標伺服器的路徑不匹配的網站。現在我可以用來reqrep編輯路徑,並且在瀏覽器中我最終獲取了index.html,但是它不會加載任何支援文件(.css、.js ext),即使它們是透過引用列出的。

例如 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 轉到某個後端,因為我有不同的應用程序,它們都有這個問題,並從不同的地方提取它們的 .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

相關內容