Galène videoconferencing server discussion list archives
 help / color / mirror / Atom feed
From: Juliusz Chroboczek <jch@irif.fr>
To: "Michael Ströder" <michael@stroeder.com>
Cc: "galene@lists.galene.org" <galene@lists.galene.org>
Subject: [Galene] Re: Websocket close 1006 (abnormal closure): unexpected EOF
Date: Fri, 08 Jan 2021 14:19:06 +0100	[thread overview]
Message-ID: <87wnwn7eid.wl-jch@irif.fr> (raw)
In-Reply-To: <59143aab-df95-92d8-db78-3129c2e02fb4@stroeder.com>

>> I just normally put
>> 
>> proxy_read_timeout 1200s;
>> proxy_send_timeout 1200s;

> 20min? Really? Even 120s would be quite long.

I've reduced the keepalive timeout to be 45 to 55s (depending on how the
timer gets scheduled), even though I rather agree with Toke.  Scratch
that, Toke is not radical enoough: the default timeout for WebSockets
should be 2 hours 4 minutes, for consistency with RFC 5382 REQ-5.

WebSocket is layered over TCP.  TCP indicates that a connection is closed
by sending explicit FIN segments in both directions: both the client and
the server explicitly close the connection.

The reverse proxy should assume that the server performs its own timing
out of idle clients, and only close the client connection when the server
has closed its side.  If the server crashes, the OS will close the
connection.  If the server's OS crashes, then the client will timeout the
connection.  The only case when the timeout is needed is when both the
server and the client have left the network without closing their
connections -- and in this rare case, a large timeout is good enough.

The tradition to use small timeouts comes from Apache, which used to use
up a whole process for every connection, even when idle.  There is no
reason I can see to do the same with nginx, which is only limited by the
number of available file descriptors.

-- Juliusz

  parent reply	other threads:[~2021-01-08 13:19 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-05 10:56 [Galene] " Jeroen van Veen
2021-01-05 14:42 ` [Galene] " Juliusz Chroboczek
2021-01-05 14:52   ` Toke Høiland-Jørgensen
2021-01-05 18:16     ` Jeroen van Veen
2021-01-05 18:44     ` Michael Ströder
2021-01-05 21:49       ` Toke Høiland-Jørgensen
2021-01-08 13:19       ` Juliusz Chroboczek [this message]
2021-01-08 14:24         ` Michael Ströder
2021-01-08 14:58           ` Juliusz Chroboczek
2021-01-08 16:03             ` Michael Ströder

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.galene.org/postorius/lists/galene.lists.galene.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wnwn7eid.wl-jch@irif.fr \
    --to=jch@irif.fr \
    --cc=galene@lists.galene.org \
    --cc=michael@stroeder.com \
    --subject='[Galene] Re: Websocket close 1006 (abnormal closure): unexpected EOF' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox