【问题标题】:Problem with multiple subdomains conflict : Ubuntu django nginx+apache mod_wsgi多个子域冲突的问题:Ubuntu django nginx+apache mod_wsgi
【发布时间】:2011-06-25 13:36:51
【问题描述】:

我已经在我的一个子域上安装了我的 django 应用程序。subdomain1.mydomain.com 在 Ubuntu 上使用 nginx+apache mod_wsgi。
在我在 subdomain2.mydomain.com 上安装另一个 django 应用程序之前,它工作正常。现在 subdomain1.mydomain.com 开始指向安装在 subdomain2.mydomain 上的应用程序。 com

这是我的 nginx 和 apache 配置。
subdomain1.mydomain.com 的 nginx 配置:

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;
    }  
}  

subdomain2.mydomain.com 的 nginx 配置:

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;
    }  
}

subdomain1.mydomain.com 的 apache conf

<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>

subdomain2.mydomain.com 的 apache 配置文件

<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>

谁能告诉我哪里出错了?
提前致谢!

【问题讨论】:

  • 你为什么要从 Apache conf 中删掉有趣的部分? ServerName/ServerAlias 的东西在哪里?

标签: python django apache nginx mod-wsgi


【解决方案1】:

如我所见,您的两个 django 应用程序都在同一个地址:端口上工作

默认情况下,nginx 不转发“Host:”标头。

您必须将此行添加到您的 nginx 配置中:

proxy_set_header 主机 $host;

【讨论】:

    猜你喜欢
    • 2011-02-18
    • 2011-08-23
    • 1970-01-01
    • 2011-05-24
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多