我在一个Docker容器中运行我的Django应用程序,其中nginx作为web服务器,uWSGI作为app服务器。所有内容都部署在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,但我仍然得到同样的错误。
答案 0 :(得分:0)
问题是我的URL有一个下划线,而Django不允许在URL中的任何地方加下划线。我有www._test_.example.com
。 www._test.example.com
和www.a_test.example.com
也不会工作。 Underscores should be valid characters in URLs