我正嘗試在Nginx和Apache的同一臺服務器上設置多個虛擬主機,並且遇到了一個奇怪的配置問題。在Apache中使用多個WSGI掛載點和Nginx反向代理
我有nginx配置了一個通用的上游到Apache。
upstream backend {
server 1.1.1.1:8080;
}
我試圖在nginx中設置多個子域,這些子域在apache中命中不同的掛載點。每個人都像下面的例子。
server {
listen 80;
server_name foo.yoursite.com;
location/{
proxy_pass http://backend/bar/;
include /etc/nginx/proxy.conf;
}
...
}
server {
listen 80;
server_name delta.yoursite.com;
location/{
proxy_pass http://backend/gamma/;
include /etc/nginx/proxy.conf;
}
...
}
這些掛載點指向Django的項目,但每個網址條目都回來了與Apache安裝點路徑前綴。所以,如果我爲foo.yoursite.com/wiki/biz/調用django url條目,則django似乎將返回foo.yoursite.com/bar/wiki/biz/。同樣,如果我要求delta.yoursite.com/wiki/biz/的url條目,我可以獲得delta.yoursite.com/gamma/wiki/biz/。
有什麼辦法擺脫由django和apache在url條目上返回的前綴?
清除SCRIPT_NAME環境變量有訣竅。謝謝,格雷厄姆! – Thomas 2010-04-06 15:10:15