python - docs - ¿Por qué Django arroja el error "DisallowedHost at/"?
docs django project (1)
Estoy configurando mi propio servidor Django utilizando este tutorial de Digital Ocean . Creé el framework Django siguiendo cada paso y ejecuté el servidor usando este comando:
./manage.py runserver 0.0.0.0:8000
Cuando intenté visitar el IP en el puerto 8000, se muestra el siguiente error:
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 sustituido con X)
¿Por qué está pasando esto?
En su settings.py
, hay una lista llamada ALLOWED_HOSTS
. Debe agregar la dirección IP que ve en el error a esa lista:
ALLOWED_HOSTS = [''XX.XX.XX.XX'']
El puerto no debe ser agregado.
Explicación:
Django comprueba el encabezado Host
de la solicitud HTTP para una dirección url / ip que está dentro de los hosts permitidos.
Desde el sitio web de django:
Esta es una medida de seguridad para evitar los ataques de encabezado HTTP Host, que son posibles incluso bajo muchas configuraciones de servidor web aparentemente seguras.
https://docs.djangoproject.com/en/1.10/ref/settings/#allowed-hosts