【问题标题】:Deploying Django application in AWS. Raise Disallowed Host exception在 AWS 中部署 Django 应用程序。引发不允许的主机异常
【发布时间】:2017-09-07 00:34:26
【问题描述】:

我是 Amazon Web Services 的新手,我正在尝试使用弹性 BeansTalk 部署 Django 应用程序。我正在遵循 AWS 开发人员指南,当我使用 EBCLI 部署应用程序并打开浏览器以查看我的应用程序正在运行时,我收到以下错误。

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

Django 版本:1.9.12 Python 版本:3.4.3 已安装的应用程序: ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles'] 已安装 中间件:['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware']

追溯:

get_response 中的文件“/opt/python/run/venv/lib/python3.4/site-packages/django/core/handlers/base.py” 123. response = middleware_method(request)

process_request 中的文件“/opt/python/run/venv/lib/python3.4/site-packages/django/middleware/common.py” 56. 主机=request.get_host()

get_host 中的文件“/opt/python/run/venv/lib/python3.4/site-packages/django/http/request.py” 109. 提高 DisallowedHost(msg)

异常类型:DisallowedHost at / 异常值:无效的 HTTP_HOST 标头:'django-env.vsvztq2hxp.us-west-1.elasticbeanstalk.com'。您可能需要将 'django-env.vsvztq2hxp.us-west-1.elasticbeanstalk.com' 添加到 ALLOWED_HOSTS。

显然应用程序已部署,但由于某种原因引发了异常。

有人可以帮帮我吗?

【问题讨论】:

标签: python django amazon-web-services ebcli


【解决方案1】:

你有幸得到这样一个详细的错误..

异常类型:DisallowedHost at / 异常值:无效的 HTTP_HOST 标题:'django-env.vsvztq2hxp.us-west-1.elasticbeanstalk.com'。 你 可能需要添加“django-env.vsvztq2hxp.us-west-1.elasticbeanstalk.com” 到 ALLOWED_HOSTS。

只需将django-env.vsvztq2hxp.us-west-1.elasticbeanstalk.com 添加到您的ALLOWED_HOSTS 中的settings.py

做这样的事情

#in settings.py

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

【讨论】:

    【解决方案2】:

    试试这个:

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

    在您的 settings.py 文件中

    在您在 prod 中部署之前,这是一个很棒的清单。 https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/

    【讨论】:

    • 添加ALLOWED_HOSTS = [*] 是超级不安全的......这可能意味着任何使用您的代码进行 MIM 攻击的人都可以像您一样合法地运行。我不会这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2018-08-29
    • 1970-01-01
    • 2021-10-11
    • 2020-12-19
    相关资源
    最近更新 更多