我有2個Rails應用程序運行在同一臺服務器上。我想要將domain1.com的請求轉發到我的Rails1應用程序,並且domain2.com請求我的Rails2應用程序。我配置我的nginx.conf像這樣:一個Nginx,2個應用程序/域
upstream thin1 {
server 0.0.0.0:3000;
server 0.0.0.0:3001;
server 0.0.0.0:3002;
}
upstream thin2 {
server 0.0.0.0:3003;
server 0.0.0.0:3004;
server 0.0.0.0:3005;
}
server {
listen 80;
server_name *.domain1.com;
root /path1/;
location/{
try_files $uri/index.html $uri.html $uri @backend;
}
location @backend {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://thin1;
}
}
server {
listen 80;
server_name *.domain2.com;
root /path2/;
location/{
try_files $uri/index.html $uri.html $uri @backend;
}
location @backend {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://thin2;
}
}
但是,所有的請求(domain1.com和domain2.com)被轉發到我的Rails1應用程序。任何想法?
上游thin1和thin2具有相同的服務器地址?你確定它是正確的嗎? – freestyler 2012-08-11 06:19:19
@freestyler oops,修正了這個問題。端口是不同的。那有意義嗎? – samvermette 2012-08-11 06:26:37
您確定\ @backend命名的位置不在服務器之間共享嗎?將文件分割爲2可能會有所幫助。或者嘗試使用\ @ backend1,\ @ backend2作爲命名位置。 – 2012-08-11 09:33:53