2015-10-27 1 views
1

У меня есть проект django, работающий на домен example.com juste fine. Я хочу добавить одно приложение к example2.com, но если отключить django Debug, я получаю ошибку Bad Request (400).Отладка Apache/Django/WSGI Неверный запрос (400) Ошибка, тогда псевдоним подкаталога

Я использую django 1.7.7 с python 2.7.9 на debian jessie. example.com и example2.com оба обслуживаются apache 2.4.10 с модулем WSGI 4.3.0.

В Apache глобальной конфигурации области видимости у меня есть:

WSGIDaemonProcess tracking user=www-data group=www-data processes=2 threads=15 python-path=/path/to/projects/tracking/ display-name=wsgi-django-tracking 

В example.com виртуальный хост у меня есть:

WSGIScriptAlias//path/to/projects/tracking/tracking/wsgi.py 
WSGIProcessGroup tracking 
<Directory /path/to/projects/tracking/tracking/> 
     <Files wsgi.py> 
      Require all granted 
     </Files> 
</Directory> 

В example2.com виртуальный хост меня (обратите внимание на /MyApp по крайней конец обоих параметров команды WSGIScriptAlias):

WSGIScriptAlias /myapp /path/to/projects/tracking/tracking/wsgi.py/myapp 
WSGIProcessGroup tracking 
<Directory /path/to/projects/tracking/tracking/> 
     <Files wsgi.py> 
      Require all granted 
     </Files> 
</Directory> 

В настройках Джанго У меня есть:

ALLOWED_HOSTS = ["example.com", "example2.com"] 

С DEBUG=True все прекрасно работает. Когда я установил DEBUG=False, example.c продолжают работать, но когда я пытаюсь получить доступ к http://example2.com/myapp все я есть:

Bad Request (400) 

Ничто полезное показывает в /var/log/apache2/error.log ни /var/log/apache2/access.log так I'am немного запутались.

Благодарим за помощь.

ответ

1

Дважды проверьте, что имя хоста присутствует в записи ALLOWED_HOSTS. Я знаю, что вы сказали, что это так, но 400 Bad Request - это именно то, что вы получили, если имя хоста отсутствовало в настройке.

Еще раз проверьте ALLOWED_HOSTS.

+0

Благодаря ФОТ ответ, я проверил, имя хоста присутствует. Более того, у меня точно такое же поведение, что и установка 'ALLOWED_HOSTS = ['*']' – Nit

+0

Убедитесь, что ваш 'ALLOWED_HOSTS' не перезаписывается позже в коде. – GwynBleidD

+0

Вот и все, теперь я чувствую себя очень глупо, спасибо! – Nit

0

, пожалуйста, проверьте свой wsgi.py

это правильный код.

import os 
import sys 
sys.path.append('/var/www/Happ') 
os.environ['DJANGO_SETTINGS_MODULE'] = 'Happ.settings' 
from django.core.wsgi import get_wsgi_application 
application = get_wsgi_application() 

для журналов см необходимо добавить

<VirtualHost *:80> 
    ErrorLog /var/log/apache2/error.log 
</VirtualHost> 
Смежные вопросы