【问题标题】:AWS, Django, Apache, ALLOWED_HOSTS not working 400 Bad RequestAWS、Django、Apache、ALLOWED_HOSTS 不工作 400 错误请求
【发布时间】:2018-07-28 03:07:35
【问题描述】:

我有两个在 AWS Lightsail 上运行的 Django 应用程序。第一个与www.firstapp.comfirstapp.com 一起工作得很好,但是当我尝试访问URL 中没有www 的第二个应用程序时,它返回400 Bad Request。在这两个应用程序中,DEBUG 设置为False,我在settings.py 中有必要的主机,如下所示:

ALLOWED_HOSTS = [ '.secondapp.com' ]

我尝试过使用'*' 并尝试在ALLOWED_HOSTS 中写下所有可能的主机,但没有成功。我可以看到www.secondapp.com 的网站,但secondapp.com 总是返回Bad Request (400)

settings.py 中的任何更新后,我总是重新启动 Apache(也尝试重新加载)没有任何变化,仍然收到 400 Bad Request。有任何想法吗?也许我应该以某种方式设置 AWS,这是我对 Django 的第一次体验

【问题讨论】:

  • 不光是Apache,还需要重启Gunicorn进程才能使settings.py文件中的修改生效
  • @VitorFreitas 我不使用 gunicorn
  • 您是否检查过在同一个settings.py 文件中是否有多个ALLOWED_HOSTS?一个可能会覆盖另一个。
  • 是的,我只有一个
  • 你应该提供你的 apache 配置。

标签: django apache amazon-web-services


【解决方案1】:

对于遇到此类问题的任何人,请检查您的 VirtualHost 配置。在我的 VirtualHost 配置中,当我添加 ServerAlias secondapp.com 时,我将 ServerName 设置为 www.secondapp.com 它可以工作。现在我可以使用www.secondapp.comsecondapp.com 查看我的应用程序。

P.S.:但是我没有第一个应用程序的 ServerAlias,但它仍然可以作为 www.firstapp.comfirstapp.com 工作,不知道为什么这会成为第二个应用程序的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    • 2016-06-06
    • 1970-01-01
    • 2015-03-08
    相关资源
    最近更新 更多