快速超时始终在1分钟后发生

时间:2018-05-15 18:50:25

标签: node.js express cloudfoundry

我有一台快速服务器,在将其发布到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服务器配置可能我必须设置。节点上是否存在任何难以限制连接可以持续多长时间的内容?是什么让它发送回应?我的代码中没有任何内容可以发送504 GATEWAY_TIMEOUT。在我设置1分钟的时间本地时,我甚至没有得到那样的回应。我明白了:

Empty reply from server

这很正常。任何建议都表示赞赏。

-------------------- UPDATE --------------------

Francisco Mateo所说的GoRouter确实是个问题,但根据Pivotal的支持:

  

要更改go路由器的超时,您必须修改go路由器的BOSH清单。在完整的Pivotal Cloud Foundry环境中,这是一个微不足道的变化。但是,我们不允许在Pivotal Web Services上进行此类更改,因为它们会影响多个客户。

显然不可能过度使用它,但如果我不时地发送数据,我可以保持连接存活。因此,如果我每隔10秒发送一个空白空间,那么我可以永久保持连接。但这很丑陋。响应将有一堆空格,然后将显示数据。

下一个问题:

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

我已经尝试发送一个空字符串,但Go Router认为它不发送任何内容。也许是一个空角色?

1 个答案:

答案 0 :(得分:1)