nginx,uwsgi,DJango,502当DEBUG=False时;上游过早关闭连接”;

nginx,uwsgi,DJango,502当DEBUG=False时;上游过早关闭连接”;,django,sockets,nginx,wsgi,uwsgi,Django,Sockets,Nginx,Wsgi,Uwsgi,我有一个运行Django应用程序的nginx生产服务器,使用uwsgi(使用设置) nginx和uwsgi通过UNIX套接字进行通信 但是,只要我在Django设置中打开DEBUG=False,就会得到一个502错误。nginx错误日志告诉我: 2015/09/08 10:37:51 [error] 940#0: *4 upstream prematurely closed connection while reading response header from upstream, clien

我有一个运行Django应用程序的nginx生产服务器,使用uwsgi(使用设置)

nginx和uwsgi通过UNIX套接字进行通信

但是,只要我在Django设置中打开
DEBUG=False
,就会得到一个502错误。nginx错误日志告诉我:

2015/09/08 10:37:51 [error] 940#0: *4 upstream prematurely closed connection while reading response header from upstream, client: myIP, server: mydomain.ca, request: "GET /quests/ HTTP/1.1", upstream: "uwsgi://unix:///tmp/hackerspace.sock:", host: "myDomain"
如何防止套接字连接超时,为什么DEBUG=False会造成这种差异


谢谢

我找到了适合我的解决方案。我必须在django的settings.py中为允许的\u hosts列表指定主机

ALLOWED\u HOSTS=['example.com','example.dev']

答案“ALLOWED\u HOSTS”也解决了我的问题。有一件事需要详细说明,因为我现在还不清楚,你在这里输入的值是你的网站将被访问的潜在域名(IP等)。 如果你的网站是免费的,那么你需要把“mysite.here”放在允许的主机列表中。显然,如果Debug=True,则没有主机验证,一旦切换为False,系统将开始拒绝列表中未显示HOST:header值的任何请求。进一步阅读:

您检查过uwsgi日志了吗?有没有成功的错误?@Lukasz没有,但我将在下周再次尝试退出调试模式,如果找到解决方案,我将向您报告。