【问题标题】:Django 3.2.3 - 3.2.6 broken pipe error on dev serverDjango 3.2.3 - 3.2.6 开发服务器上的管道损坏错误
【发布时间】:2021-10-05 12:31:13
【问题描述】:

我尝试了 beget 和数字海洋,不同的 Django 项目(我自己的和示例),每次我尝试从我的 PC 向服务器发送请求时都会得到

[05/Oct/2021 12:26:24,844] - Broken pipe from ('94.72.62.225', 53959)

我每次都做同样的事情:

 python3 -m venv env
 . env/bin/activate
 pip install -r requirements.txt
 python3 manage.py makemigrations
 python3 manage.py migrate
 set ALLOWED_HOSTS=['*'] in settings.py ( ALLOWED_HOSTS=['server_id'] also checked )
 python3 manage.py rusnerver 0.0.0.0:8000

发送请求的工具 - google chrome、postman、curl

【问题讨论】:

  • 这是 django 开发服务器的问题。它只发生在开发服务器中,不会发生在生产中。
  • 0。它已修复here
  • 1.一个月前它对我有用
  • 如果想详细看这个答案here
  • 2.这是无用的信息 - 这是最常见的答案,不提供任何信息

标签: python django


【解决方案1】:

发现问题。此问题仅存在于 devserver 中。当您设置DEBUG=FALSE 时,该问题将不存在。您正在生产中运行开发服务器,不要那样做。这是一个社区教程,它将指导您使用 Postgres 和 Nginx 设置 Django:here in Production。

已经讨论过这个问题,这是票证:django ticket

在那张票的cmets里,有一个很清楚的解释:

根据许多消息来源,“Broken Pipe”是一个正常的浏览器怪癖。例如,浏览器从套接字读取,然后确定它正在读取的图像显然没有改变。浏览器现在(强制)关闭连接,因为它不需要更多数据。这个套接字的另一端(python runserver)现在引发一个套接字异常,告诉程序客户端“破坏了套接字管道”。

【讨论】:

  • 简单答案 - python3 manage.py runserver 只是为了在 localhost 上测试
猜你喜欢
  • 2011-11-29
  • 1970-01-01
  • 1970-01-01
  • 2015-07-13
  • 1970-01-01
  • 1970-01-01
  • 2011-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多