Need help: websocket proxy stops working after a while
mdounin at mdounin.ru
Fri Apr 4 10:36:49 UTC 2014
On Fri, Apr 04, 2014 at 04:20:04AM -0400, phil3361 wrote:
> Hi all,
> The WebSocket protocol specification (RFC 6455) defines a _protocol_level_
> keep alive fonctionnality (the protocol defines both a 'ping' and a 'pong'
> Unfortunately, it seems that nginx doesn't take these frames into account to
> reset its timeout watchdog timer so far... so that you have to implement
> some _application_level_ heartbeat mecanism if you don't want your WebSocket
> connection be broken by an intermediate nginx on low activity periods...
> This is ennoying: such application work has a quite heavy resource cost,
> especially on the server side. This looses some of the most valuable
> benefits of a WebSocket connection: maintaining an active asynchronous
> notification channel from the server to the client, just in case...
You are understanding it wrong.
Any ping/pong frame, as well as any other frame in a proxied
websocket connection, will reset nginx timeouts. Note that first
my response suggests "periodic ping frames from the backend" as
one of the possible solutions.
More information about the nginx