我有幾臺服務器在虛擬機中運行。我有一個運行nginx的代理請求到這些服務器。例如,http://mydomain.com/wiki應代理請求http://192.168.122.3。 192.168.122.3使用DocumentRoot =/var/www/wiki運行apache。一切工作正常,但當頁面加載時,所有路徑指向/而不是/ wiki(如<img src="/bla-bla-bla"/>, not /wiki/bla-bla-bla"
)。對於apache來說似乎沒問題,但是不能用於瀏覽器 - 它不能加載圖像等。 將apache中的DocumentRoot更改爲/ var/www並從nginx傳遞/ wiki沒有幫助 - mediawiki開始重定向到/ wiki,nginx在它說明循環重定向之前將它重定向回apache等等。 像Redmine這樣的虛擬機中運行的其他項目(ruby on rails)的行爲相同。Nginx:正確設置proxy_path。網址問題
有什麼辦法可以解決這個問題嗎?有沒有適當的方法來將/ subdir等URL代理到其他服務器?
這是nginx的服務器部分:
server {
listen 192.168.122.7:80;
server_name mydomain.com;
access_log /var/log/nginx/localhost.access.log;
location/{
}
location /wiki/ {
proxy_pass http://192.168.122.3/;
}
}
謝謝你的回答! 對我來說,解決方案是在proxied apache下的sub-url下運行mediawiki。 nginx位置: 'location/wiki/{ proxy_pass http://192.168.122.3/; }' 並且具有'DocumentRoot =「/ var/www」'和wiki的apache配置可在/ var/www/wiki / – Axell 2011-07-02 19:23:53