apache 服务器在发送数据之前关闭连接的原因是什么?

yws3nbqq  于 2023-04-07  发布在  Apache
关注(0)|答案(3)|浏览(97)

我有一个cakephp(1.3.10)应用程序,似乎工作正常,但最近我得到一个错误页面,显示“没有收到数据”在chrome中。这是随机发生在不同的页面和不同的浏览器。我谷歌了错误,只发现不相关的信息。
我没有更改任何代码或升级框架,也没有对运行应用程序的服务器进行任何更新。
这可能是什么原因呢?这段代码是否相关,如果是的话,我可以从哪里开始寻找在cakephp中解决它?
任何帮助将不胜感激。

klsxnrf1

klsxnrf11#

“未收到数据”* 可能 * 表示

  • Web服务器中的问题
  • 一个PHP脚本由于一个致命的错误而死亡(尽管我认为应该总是发出200……我猜这取决于服务器配置)。

如果你使用的是Apache,请先查看它的error.log,很有可能会有一些启发性的东西。
如果这还不行,你可以试试logging your PHP errors into a file

eoigrqb6

eoigrqb62#

如果是随机发生的,可能是你的脚本运行超时或者使用了太多的内存,我曾经在wordpress遇到过这个问题,因为wordpress有时会在页面浏览量上调用内部的“cronjob”。

j5fpnvbx

j5fpnvbx3#

在我的例子中,连接关闭是由(AWS)负载均衡器在60秒后终止空闲连接引起的。

如果空闲超时时间到还没有发送或接收到数据,负载均衡会关闭连接。为了保证文件上传等长操作有时间完成,请在每个空闲超时时间之前发送至少1字节的数据,并根据需要增加空闲超时时间长度。

https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#connection-idle-timeout
因此,如果您的服务器响应非常慢,反向代理可能会意外终止连接。

相关问题