在节点上调试丢失的HTTPS升级请求

时间:2018-08-21 18:56:42

标签: node.js https websocket

我有一个节点HTTPS linux服务器,该服务器处理UPGRADE请求以允许安全的WebSocket连接以及其他HTTPS请求。 99%的时间效果很好。

周期性且不可预测地,客户端Websocket连接尝试到服务器超时(客户端在30秒后放弃)。

我在HTTPS服务器上侦听升级请求,如下所示:

server.on('upgrade', function upgrade(req, socket, head) {
    console.log('Upgrade - Beg - '+req.url);
    ...

在发生客户端超时的情况下,我永远不会收到“升级”事件

我该如何调试?我是否可以侦听一个较低级别的Node https服务器事件,这可能表明某些情况(例如,我知道连接实际上已到达服务器)?

注意:

  • 当我在客户端(实际上,甚至在30秒之前)检测到超时时,我尝试与同一服务器的另一个HTTPS连接(POST)。有用!该问题似乎仅与websocket连接有关。

  • 我有一些代码可以在遇到超时时重试websocket连接,但是通常需要重试几次才能使超时神奇地消失。

在调试方面的任何帮助将不胜感激。

0 个答案:

没有答案