8000 WebApp websocket connection gets closed after 60 seconds on default nginx configuration · Issue #878 · thsmi/sieve · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
WebApp websocket connection gets closed after 60 seconds on default nginx configuration #878
Open
@Smith4545

Description

@Smith4545

Prerequisites

  • Tried the most recent nightly build
  • Checked if your issue is already reported.
  • Answered all the questions in this template (Or provide a working crystal ball).

What happened?

This problem is explicitly related to the usage of nginx in conjunction with the WebApp!
On editing any Sieve-script via the WebApp, after not doing anything for a while, the user can't save his changes anymore.
This obviously shouldn't happen. No matter how long the user doesn't do anything, he should always be able to save his stuff.

The reason for this behaviour is, that nginx, by default, will close a connection to a proxied server after 60 seconds if the proxied server doesn't transmit any data in this timeframe.

The probable solutions to this problem are:

  • (the temporary way) include proxy_read_timeout 7200s; (or a timeout > than how long the user needs to work on his scripts) in the stated location block in the WebApp's README.md.
  • send data to the browser every once in a while.

What did you expect to happen?

No matter how long the user doesn't do anything, he should always be able to save his stuff.

Logs and Traces

2023-03-09 16:53:57 WARNING [handle_message] webserver.py : index out of range                                                                                                            
2023-03-09 16:53:57 WARNING [handle_message] webserver.py : Traceback (most recent call last):                                                                                            
  File "/opt/thsmi/sieve/sieve-0.6.1-web/script/webserver.py", line 65, in handle_message                                                                                                 
    handler.handle_request(context, request)
  File "/opt/thsmi/sieve/sieve-0.6.1-web/script/handler/websocket.py", line 48, in handle_request                                                                                         
    MessagePump().run(websocket, sievesocket)
  File "/opt/thsmi/sieve/sieve-0.6.1-web/script/messagepump.py", line 26, in run                                                                                                          
    data = server.recv()                                                                                                                                                                  
  File "/opt/thsmi/sieve/sieve-0.6.1-web/script/websocket.py", line 119, in recv                                                                                                          
    opcode = data[0] & 0b00001111
IndexError: index out of range

Which Version

  • WebApp on dfeeac10cb5cf65b08b31360229053bcdae50174
  • Server: Debian 11 with dovecot pidgeonhole

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0