tutorial docs createsuperuser commands python django django-settings

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