diff --git a/docker/nginx-https.conf b/docker/nginx-https.conf index 0684f3ed0..dbcdfbc9c 100644 --- a/docker/nginx-https.conf +++ b/docker/nginx-https.conf @@ -425,6 +425,16 @@ http { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto; + # A terminal is quiet most of the time - waiting on a prompt, reading + # output, running something long. Every console plugin dials this route + # (terminal, serial, remote desktop), and nginx's default + # proxy_read_timeout of 60s closed the socket about a minute into any + # pause, which reaches the user as the SSH server disconnecting. The + # plugin WebSocket routes below already ask for 86400s; this is the same + # class of socket, so it asks for the same. + proxy_read_timeout 86400s; + proxy_send_timeout 86400s; + proxy_buffering off; } location /host/ { diff --git a/docker/nginx.conf b/docker/nginx.conf index 1ecea3455..fa369e170 100644 --- a/docker/nginx.conf +++ b/docker/nginx.conf @@ -394,6 +394,16 @@ http { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto; + # A terminal is quiet most of the time - waiting on a prompt, reading + # output, running something long. Every console plugin dials this route + # (terminal, serial, remote desktop), and nginx's default + # proxy_read_timeout of 60s closed the socket about a minute into any + # pause, which reaches the user as the SSH server disconnecting. The + # plugin WebSocket routes below already ask for 86400s; this is the same + # class of socket, so it asks for the same. + proxy_read_timeout 86400s; + proxy_send_timeout 86400s; + proxy_buffering off; } location /host/ {