【发布时间】:2019-07-09 06:01:30
【问题描述】:
我在 Elastic Beanstalk 上设置了 Django 应用程序。工作和运行都很棒。
我的设置文件只包含所需的允许主机 --
ALLOWED_HOSTS = ['mysite.com']
我收到发送到我的电子邮件的 Django 错误——这通常是我喜欢的。但是,每次我重新部署我的应用程序(我是通过上传 ZIP 文件夹而不是通过 CLI 来完成的)时,我都会收到此消息
Invalid HTTP_HOST header: 'localhost'. You may need to add 'localhost' to ALLOWED_HOSTS.
我在运行我的网站时没有遇到任何问题,我只是不喜欢收到此错误。我想我可以添加 localhost(或者可能是 127.0.0.1)作为允许的主机——但是出于安全原因,我不确定这是否是一个好主意。
这里可能会发生什么,我该如何解决?添加这些主机可以吗?
编辑:
澄清一下,当我将代码部署到 Elastic Beanstalk 时会发生这种情况,而不是在本地运行它时。
【问题讨论】:
-
您可以创建两个设置文件。一种用于生产,一种用于开发。在开发文件中,您可以在 ALLOWED_HOST 中添加
127.0.0.1或localhost,在 [生产设置中添加mysite.com。因此,无论何时在生产环境中运行应用程序,都需要调用 production_settings.py,而在开发环境中,您可以使用 dev_settings.py。这是您要找的吗? -
@ReemaParakh 不——我已经有了类似
if PRODUCTION_STATUS == 'LOCAL' then ALLOWED_HOSTS = [*]的设置 -
在这种情况下,要在本地运行,您需要在设置文件中设置
localhost或127.0.0.1。
标签: django amazon-elastic-beanstalk