gpt4 book ai didi

node.js - 快速超时总是在 1 分钟后发生

转载 作者:太空宇宙 更新时间:2023-11-04 00:09:51 25 4
gpt4 key购买 nike

我有一个 Express 服务器,在将其发布到 Cloud Foundry 后出现 1 分钟超时。我可以在本地设置我想要的任何超时。这可能是 Pivotal Cloud Foundry 的问题,但我不确定什么设置可能会破坏事情。这是我在代码中尝试过的:

https://nodejs.org/dist/latest-v8.x/docs/api/http.html#http_server_settimeout_msecs_callback

https://nodejs.org/dist/latest-v8.x/docs/api/http.html#http_server_timeout

https://github.com/expressjs/timeout

https://github.com/expressjs/express/issues/2174

然后只是为了好玩,我将它们全部放入我的代码中,但 1 分钟后它仍然超时。这是我得到的原始回复:

HTTP/1.1 504 GATEWAY_TIMEOUT
Content-Length: 0
Connection: keep-alive

我认为我可能必须设置一些 Linux 服务器配置。 Node 上是否有任何东西会硬限制连接可以持续多长时间?是什么让它发送该响应?我的代码中没有任何内容会发送 504 GATEWAY_TIMEOUT。在本地,当我设置 1 分钟超时时,我什至没有得到该响应。我得到:

Empty reply from server

这很正常。如有任何建议,我们将不胜感激。

--------------------更新--------------------

Francisco Mateo 提到的 GoRouter 确实是问题所在,但根据 Pivotal 支持:

To change the timeout on the go router, you would have to modify the BOSH manifest of the go router. In a full Pivotal Cloud Foundry environment, this is a trivial change. However, we do not allow such changes to be made on Pivotal Web Services since they would affect more than a single customer.

显然不可能超越它,但如果我时不时地发送数据,我可以保持连接。因此,如果我每 10 秒发送一个空格,那么我就可以永远保持连接。虽然那很丑。响应将有一堆空白,然后将显示数据。

下一个问题:

有没有办法发送没有数据的 ping?

我尝试发送一个空字符串,但 Go Router 认为没有发送任何内容。也许是一个空字符?

最佳答案

关于node.js - 快速超时总是在 1 分钟后发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50357311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com