【问题标题】:Django DEBUG=False resulting in 400 error for all requestsDjango DEBUG=False 导致所有请求出现 400 错误
【发布时间】:2018-01-07 18:17:34
【问题描述】:

我在 Docker 容器中运行我的 Django 应用程序,其中 nginx 作为网络服务器,uWSGI 作为应用程序服务器。一切都部署在 AWS Elastic Beanstalk 上。当我设置DEBUG=False 时,所有请求都会导致Bad Request (400)。我已经尝试了ALLOWED_HOSTS='*'ALLOWED_HOSTS=['*'],但我仍然得到同样的错误。我通过检查日志验证了请求是否到达 uWSGI。 uWSGI 日志有这样的:

[pid: 33|app: 0|req: 4/4] 172.17.0.1 () {46 vars in 855 bytes} [Tue Aug  1 02:54:17 2017] GET / => generated 26 bytes in 26 msecs (HTTP/1.1 400) 1 headers in 53 bytes (1 switches on core 0)

我尝试了很多答案,但没有运气。我试过this answer,但我仍然得到同样的错误。还有什么可能导致这种情况的吗?

这个问题与this question 不同,因为正如我所提到的,将ALLOWED_HOSTS 设置为通配符对我不起作用。同一个问题,我也试过this answer,还是报同样的错误。

【问题讨论】:

  • 请管理员/某人删除这是重复的标签吗?我注意到我在创建问题时已经尝试了假定重复问题中指定的解决方案,并且仅在出现提示时才澄清它。

标签: django nginx amazon-elastic-beanstalk uwsgi


【解决方案1】:

问题是我的 URL 有下划线,而 Django 不允许在 URL 的任何地方使用下划线。我有www._test_.example.comwww._test.example.comwww.a_test.example.com 也不起作用。 Underscores should be valid characters in URLs.

【讨论】:

    猜你喜欢
    • 2016-03-11
    • 2013-11-21
    • 2021-10-30
    • 2017-01-20
    • 1970-01-01
    • 2021-08-13
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多