65 votes

Pourquoi Django génère-t-il une erreur "DisallowedHost at /"?

Je suis ma propre Django serveur à l'aide de cet Océan Numérique tutoriel. J'ai créé le framework Django à la suite de chaque étape, et a couru le serveur à l'aide de cette commande:

./manage.py runserver 0.0.0.0:8000

Quand j'ai essayé pour la visite de la propriété intellectuelle dans le port 8000, l'erreur suivante est affichée:

DisallowedHost at /
Invalid HTTP_HOST header: 'XXX.XXX.XXX.XXX:8000'. You may need to add u'XXX.XXX.XXX.XXX' to ALLOWED_HOSTS.

(IP substitué avec X)

Pourquoi est-ce arrivé?

106voto

Randall Points 964

Dans votre settings.py, il y a une liste appelée ALLOWED_HOSTS. Vous devez ajouter l'adresse IP que vous voyez dans l'erreur à cette liste:

ALLOWED_HOSTS = ['XX.XX.XX.XX']

Le port ne doit pas être ajoutée.

Explication:

Django vérifie l' Host - tête de la requête HTTP pour une url, une adresse ip qui est dans les hôtes autorisés.

À partir du site web de django:

C'est une mesure de sécurité pour empêcher HTTP en-tête d'Hôte attaques, ce qui est possible, même sous l'apparence-safe web des configurations de serveur.

https://docs.djangoproject.com/en/1.10/ref/settings/#allowed-hosts

1voto

chad Points 1

Inclure les deux ('www.name.com', 'ip.ip.ip.ip') Définissez Debug = True, puis réessayez l'adresse IP et l'URL.

Accédez à la section Traceback, recherchez le message [lever DisallowedHost (msg)] click -> ▼ Local vars

Il montrera le nom de domaine entrant et les paramètres pour les hôtes autorisés:

 *Variable       Value
*allowed_hosts  ['ip.ip.ip.ip', 'name.com']
*domain          'something.com'
*
 

Copiez la valeur entrante dans votre fichier settings.py. Si les anciens paramètres s'affichent, redémarrez le serveur. \ Nginx

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X