2017-04-11 2 views
2

Je suis novice dans Amazon Web Services et j'essaye de déployer une application Django en utilisant BeansTalk élastique. Je suis le guide du développeur AWS et quand je déploie l'application en utilisant EBCLI et ouvre le navigateur pour voir mon application en cours d'exécution, j'obtiens l'erreur suivante.Déploiement de l'application Django dans AWS. Raise Disallowed Host exception

Request Method: GET Request URL: http://django-env.vsvztq2hxp.us-west-1.elasticbeanstalk.com/ 

Django Version: 1.9.12 Python Version: 3.4.3 Applications installées: [ 'django.contrib.admin', 'django.contrib.auth', ' django.contrib.contenttypes' , 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles'] Installé Middleware: ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware .SessionMiddleware ', ' django.middleware.common.CommonMiddleware ', ' django.middleware.csrf.CsrfViewMiddleware ', ' django.contrib.auth.mid dleware.AuthenticationMiddleware », 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware']

Traceback:

fichier "/opt/python/run/venv/lib/python3.4/site-packages/django/core/handlers/base.py" dans GET_RESPONSE 123. réponse = middleware_method (demande)

Fichier "/opt/python/run/venv/lib/python3.4/site-packages/django/middleware /common.py » dans process_request 56. host = request.get_host()

Fichier "/opt/python/run/venv/lib/python3.4/site-packages/django/http/request.py" à get_host 109. augmentation DisallowedHost (msg)

type d'exception: DisallowedHost à/ Exception Valeur: en-tête non valide HTTP_HOST: 'django-env.vsvztq2hxp.us-west-1.elasticbeanstalk.com'. Vous devrez peut-être ajouter 'django-env.vsvztq2hxp.us-west-1.elasticbeanstalk.com' à ALLOWED_HOSTS.

Obviosly l'application a été déployée mais pour une raison quelconque l'exception augmente.

Quelqu'un peut-il m'aider, s'il vous plaît?

+0

http://stackoverflow.com/questions/40667519/why-is-django-throwing-error -disallowedhost-at – oshaiken

Répondre

1

Essayez ceci:

ALLOWED_HOSTS = ['us-west-1.elasticbeanstalk.com'] 

dans votre fichier settings.py

Voici une liste de contrôle grande avant de déployer en prod. https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/

+1

L'ajout de 'ALLOWED_HOSTS = [*]' est super non sécurisé ... Cela peut signifier que quiconque fait une attaque MIM avec votre code peut légitimement s'exécuter comme vous. Je ne ferais pas ça. – mprat

+0

@oshaiken Ne jamais faire/suggérer 'ALLOWED_HOSTS = [*]' pour la production. – rrmerugu

4

Vous êtes le privilège d'obtenir une telle erreur verbeux ..

Exception Type: DisallowedHost à/Exception Valeur: non valide HTTP_HOST tête: « django-env.vsvztq2hxp.us-ouest-1. elasticbeanstalk.com '. Vous devez ajouter "django-env.vsvztq2hxp.us-west-1.elasticbeanstalk.com" à ALLOWED_HOSTS.

Il suffit d'ajouter à votre django-env.vsvztq2hxp.us-west-1.elasticbeanstalk.comALLOWED_HOSTS dans settings.py

quelque chose comme ça

#in settings.py 

ALLOWED_HOSTS = [ 'django-env.vsvztq2hxp.us-west-1.elasticbeanstalk.com', ...]