当前位置 : 主页 > 网页制作 > Nodejs >

node.js – Sockjs / socketio断开apache代理后面的延迟

来源:互联网 收集:自由互联 发布时间:2021-06-16
我需要处理用户断开与在xhr-polling模式下运行的sockjs应用程序的连接.当我连接到localhost时,一切都按预期工作.当我在nodejs和浏览器之间放置apache时,我在闭合的浏览器和nodejs内的disconnec
我需要处理用户断开与在xhr-polling模式下运行的sockjs应用程序的连接.当我连接到localhost时,一切都按预期工作.当我在nodejs和浏览器之间放置apache时,我在闭合的浏览器和nodejs内的disconnect事件之间得到约20秒的延迟.我的apache代理配置如下:

<Location />
  ProxyPass http://127.0.0.1:8080/
  ProxyPassReverse http://127.0.0.1:8080/
</Location>

文件的其余部分是默认的,你可以看到它here.我尝试使用ttl = 2和timeout = 2选项,但是没有任何改变,或者我每2秒重新连接一次而不关闭浏览器.我怎样才能减少额外的断开连接超时,但是apache,默认情况下某处?

您的Apache服务器可能配置为使用 HTTP Keep Alive,这将保持持久连接打开.在这种情况下,我会尝试禁用KeepAlive,或者降低Apache配置中的KeepAliveTimeout设置,看看是否能解决问题.

如果这不起作用,我还会看看netstat,看看每个套接字的状态是什么,并启动根本原因分析.这个chart给出的是TCP状态机,可以告诉你每个连接的位置. Wireshark还可以为您提供有关正在发生的事情的一些信息.

网友评论