Ответ 1
У меня была такая же проблема и добавление ALLOWED_HOSTS = ("yourdomain.com",)
к настройкам исправлено.
Я последовал этому руководству: http://blog.wercker.com/2013/11/25/django-16-part3.html, и я просто пытаюсь заставить его работать локально с Vagrant на данный момент. Я не пытаюсь использовать Wercker.
После того, как все установлено, я пытаюсь получить доступ к веб-сайту, но каждый раз я получаю ошибку Плохой запрос (400). Я не знаю, связано ли это с проблемой в nginx или в пушких.
У них обоих есть запись в журнале, так что, по крайней мере, я знаю, что запрос проходит весь путь через пушки и не останавливается на уровне nginx.
Где находится проблема? Gunicorn? Nginx?
Вот журналы о стрельбе и nginx.
Я вижу, что favicon отсутствует, но только не следует останавливать отображение страницы правильно?
Gunicorn:
>>> cat /var/local/sites/hellocities/run/gunicorn.error.log
10.0.0.1 - - [28/Jan/2014:07:05:16] "GET / HTTP/1.0" 400 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36"
10.0.0.1 - - [28/Jan/2014:07:09:43] "GET / HTTP/1.0" 400 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36"
Nginx:
>>> cat /var/log/nginx/hellocities-access.log
10.0.0.1 - - [28/Jan/2014:07:05:16 +0000] "GET / HTTP/1.1" 400 37 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36"
10.0.0.1 - - [28/Jan/2014:07:05:20 +0000] "GET /favicon.ico HTTP/1.1" 404 200 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36"
10.0.0.1 - - [28/Jan/2014:07:09:43 +0000] "GET / HTTP/1.1" 400 37 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36"
10.0.0.1 - - [28/Jan/2014:07:09:44 +0000] "GET /favicon.ico HTTP/1.1" 404 200 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36"
>>> cat /var/log/nginx/hellocities-error.log
2014/01/28 07:05:20 [error] 13886#0: *1 open() "/var/local/sites/hellocities/static/favicon.ico" failed (2: No such file or directory), client: 10.0.0.1, server: _, request: "GET /favicon.ico HTTP/1.1", host: "10.0.0.200"
2014/01/28 07:09:44 [error] 13886#0: *3 open() "/var/local/sites/hellocities/static/favicon.ico" failed (2: No such file or directory), client: 10.0.0.1, server: _, request: "GET /favicon.ico HTTP/1.1", host: "10.0.0.200"
У меня была такая же проблема и добавление ALLOWED_HOSTS = ("yourdomain.com",)
к настройкам исправлено.
Поскольку у меня была одна и та же проблема (400 код ошибки при попытке поделиться с бродягой), я наткнулся на этот вопрос. Ответ и комментарии правильные, так как очевидным решением является установка списка ALLOWED_HOSTS
, но я уже правильно его настраивал (я думал).
Я не могу говорить за nginx, поскольку я запускаю это на apache2, но вот что решило проблему:
Взгляните на ALLOWED_HOSTS
doc, чтобы найти то, что лучше всего подходит для вашего дела.
С бродягой вам может быть полезно принять все субдомен vagrantshare.com, поэтому просто добавьте '.vagrantshare.com'
(обратите внимание на точку) в список ALLOWED_HOSTS
.
Не уверен, что это действительно необходимо, но я изменил измененную дату файла wsgi.py
touch wsgi.py
Когда я использую apache2, мне нужно перезапустить службу.
sudo service apache2 restart
И потом это сработало.
В Django 1.8.7 мне пришлось решить две задачи:
ALLOWED_HOSTS = ["mydomain.com",]
ALLOWED_HOSTS = ip_addresses()
на ALLOWED_HOSTS += ip_addresses()
(отметьте знак +)Это решило мою проблему