Проблема с конфликтом нескольких поддоменов: Ubuntu django nginx + apache mod_wsgi - PullRequest
0 голосов
/ 11 февраля 2011

Я установил свое приложение django на один из моих поддоменов .. subdomain1.mydomain.com , используя nginx + apache mod_wsgi в Ubuntu.
Он работал нормально, пока я не установил другое приложение django subdomain2.mydomain.com .Now subdomain1.mydomain.com начал указывать на приложение, установленное на subdomain2.mydomain.com

Вот мой nginxи apache conf ..
Конфигурация nginx для subdomain1.mydomain.com:

upstream  subdomain1_backend  {
    server  127.0.0.1:8080;
}  
server {  
    listen       80;  
    server_name  subdomain1.mydomain.com www.subdomain1.mydomain.com;  
    location / {
        proxy_pass http://subdomain1_backend;
    }  
}  

Конфигурация nginx для subdomain2.mydomain.com:

upstream  subdomain2_backend  {
    server  127.0.0.1:8080;
}  
server {  
    listen       80;  
    server_name  subdomain2.mydomain.com www.subdomain2.mydomain.com;  
    location / {
        proxy_pass http://subdomain2_backend;
    }  
}

apache conf для subdomain1.mydomain.com

<VirtualHost *:8080>  

 ServerAdmin admin@mydomain.com
 ServerName  subdomain1.mydomain.com
 ServerAlias www.suddomain1.mydomain.com

 DocumentRoot "/srv/webapps/subdomain1.mydomain.com"

 WSGIScriptAlias / /srv/webapps/subdomain1.mydomain.com/conf/app.wsgi  
 WSGIDaemonProcess www.subdomain1.mydomain.com user=www-data group=www-data threads=15 processes=2 maximum-requests=10000    
 WSGIProcessGroup www.subdomain1.mydomain.com  
 <Directory /srv/webapps/subdomain1.mydomain.com/app/>  
   Order deny,allow  
   Allow from all  
 </Directory>  
 ...   
 </VirtualHost></code>

apache conf для subdomain2.mydomain.com

<VirtualHost *:8080>  

 ServerAdmin admin@mydomain.com
 ServerName  subdomain2.mydomain.com
 ServerAlias www.suddomain2.mydomain.com

 DocumentRoot "/srv/webapps/subdomain2.mydomain.com"  
 WSGIScriptAlias / /srv/webapps/subdomain2.mydomain.com/conf/app.wsgi  
 WSGIDaemonProcess www.subdomain2.mydomain1.com user=www-data group=www-data threads=15   processes=2 maximum-requests=10000    
 WSGIProcessGroup www.subdomain2.mydomain.com  
 <Directory /srv/webapps/subdomain2.mydomain.com/app/>  
   Order deny,allow  
   Allow from all  
 </Directory>  
 ...   
 </VirtualHost>

Может кто-нибудь сказать, где я иду не так?
Заранее спасибо!

1 Ответ

2 голосов
/ 11 февраля 2011

Как я вижу, оба ваших django-приложения работают на одном и том же адресе: порт

По умолчанию nginx не пересылает заголовок "Host:".

Вы должны добавить эту строку к вамКонфигурация nginx:

proxy_set_header Host $host;
...