我已经在我的一个子域名上安装了我的django应用程序.. subdomain1.mydomain.com 在Ubuntu上使用nginx + apache mod_wsgi。
在我在 subdomain2.mydomain.com 上安装另一个django应用程序之前,它工作正常。现在 subdomain1.mydomain.com 开始指向安装在 subdomain2.mydomain上的应用程序。 COM
这是我的nginx和apache conf ..
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;
}
}
apache conf for 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 for 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>
谁能告诉我哪里出错了? 提前谢谢!
答案 0 :(得分:2)
正如我所看到的,您的两个django应用程序都在同一个地址上运行:port
默认情况下,nginx不会转发“Host:”标头。
您必须将此行添加到nginx config:
proxy_set_header Host $host;