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
next prev 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