nginx前端Apache后端的问题

我的设置基本上是这样的:我在运行Ubuntu 10.04的VPS上指出了两个域。 我正在使用一个nginx前端和运行与mod-wsgi(不是一个问题,它工作正常)Django的Apache。

Nginx的代理很好,而且Apache也能做到,但是所有的请求都是由第一个虚拟主机提取的,即使server_name不匹配。 所以domain1.com和domain2.com都给了我相同的网页。 感谢任何想法/答案! 如果有什么需要澄清,请让我知道。

nginx服务器conf

server { listen 80 default; server_name domain1.com; location / { proxy_pass http://localhost:8001; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 80; server_name domain2.com; location / { proxy_pass http://localhost:8001; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 

和Apache的conf:

 NameVirtualHost *:8001 <VirtualHost *:8001> ServerAdmin webmaster@localhost ServerName domain1.com ServerAlias www.domain1.com ... </VirtualHost> <VirtualHost *:8001> ServerAdmin webmaster@localhost ServerName domain2.com ServerAlias www.domain2.com ... </VirtualHost> 

CMIIW,

我想你也必须通过主机头

  proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

请注意,HTTP主机头不会被转发…

nginx的proxy_pass文档