Nginx / Apache обслуживает неправильный сайт - PullRequest
1 голос
/ 13 декабря 2010

У меня nginx в качестве обратного прокси-сервера для Apache, обслуживающего статические файлы для сайтов Django.У меня есть 3 сайта django на сервере, которые работают (и работают уже более года), но когда я пытаюсь добавить новый, либо nginx, либо apache обслуживает один из тех, которые уже существуют.

Например, сайт A.com & B.com уже находится на сервере.Я пытаюсь добавить C.com.Я скопировал конфигурационные файлы nginx / apache, правильно связал их и изменил настройки в них, успешно перезапустил nginx и apache без ошибок, но когда я пытаюсь перейти на C.com, он загружает A.com!DNS был подтвержден как точный в Rackspace.Я посмотрел в лог-файлы без очевидной удачи.Я предполагаю, что это apache, так как он фактически отображает код django для A.com, или nginx может давать apache неправильную директиву?

Также я попытался отсоединить один из рабочих сайтов, на который был указан новый код django («C.com», и работает!), А затем повторно связать (добавить на сайты с включенной поддержкой) в nginx и apacheи это тоже сейчас не сработает!Он просто перенаправляет или по умолчанию на A.com.

Я копался в Google без всякой удачи, кроме настроек по умолчанию apache / nginx, но ничего о том, как это исправить!Буду признателен за любую помощь или направление!

Вот примеры файлов конфигурации nginx & apache:

nginx

server {

    listen 111.111.111.111:80;
    server_name mynewdomain.com;
    rewrite ^/(.*) http://www.mynewdomain.com/$1 permanent;
}

server {
    listen 111.111.111.111:80;
    server_name www.mynewdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8080/;
        include /etc/nginx/proxy.conf;
    }
    location /media {
        root /home/django/mynewdomain;
        expires 24h;
    }
}

apache:

<VirtualHost 127.0.0.1:8080>
    ServerName www.mynewdomain.com
    ServerAlias mynewdomain.com *.mynewdomain.com

    <Directory /home/django/mynewdomain/>
        Order deny,allow
        Allow from all
    </Directory>

    Loglevel warn
    CustomLog /var/log/apache2/mynewdomain.com.access.log combined
    ErrorLog /var/log/apache2/mynewdomain.com.error.log

    WSGIDaemonProcess mynewdomain.com user=www-data group=www-data threads=25
    WSGIProcessGroup mynewdomain.com
    WSGIScriptAlias / /home/django/mynewdomain/apache/django.wsgi

</VirtualHost>

Заранее спасибо.

1 Ответ

0 голосов
/ 13 декабря 2010

В вашей конфигурации nginx отсутствует такая строка, вы можете разместить ее в любом месте блока server:

proxy_set_header Host $host;
...