Я использую джанго 1.5.0 и апач 2.2.22. Кажется, я не могу заставить свой сайт работать как именованный виртуальный хост (у меня есть другие сайты django, которые уже нормально работают на этом сервере).
Я получаю стандартную страницу ошибки apache 500. Мой журнал ошибок показывает, что у меня проблема с настройкой ALLOWED_HOSTS -
[Tue Jun 04 10:25:22 2013] [error] [client 31.52.39.247] SuspiciousOperation: Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): sub_domain.mydomain.com
Но моя настройка ALLOWED_HOSTS
выглядит нормально -
python manage.py shell
>> from django.conf import settings
>> settings.ALLOWED_HOSTS
['sub_domain.mydomain.com', 'livedomain.com']
Кроме того, я не знаю, почему я получаю страницу apache 500, а не страницу отладки django -
>> settings.DEBUG
True
Глядя на полную трассировку стека в журнале ошибок, я вижу, что приложение wsgi работает — оно определенно запускает код django.
Какие-либо предложения?
ALLOWED_HOSTS
следует вообще игнорировать, когда вы находитесь вDEBUG=True
, так что это странно. У меня была проблема, похожая на эту, с NGinx, где у меня было подчеркивание в имени моего хоста, что означало, что Django не проверял его. Это может быть проблемой, особенно если у вас есть Apache, переписывающий заголовок вашего хоста (это было в случае со мной, поскольку nginx был обратным проксированием) - person Timmy O'Mahony   schedule 04.06.2013