Smettere il timeout di connessione di Tomcat 60s uccidendo un lungo caricamento

FixMediaService
Spegnimento
8 agosto 2026 alle ore 03:19 UTC
Autore
Kamo
Impegno
dcc4af3

Un 2 GiB chat allegato fallito dopo quasi quattro minuti di trasferimento di successo con MultipartException che avvolge un nudo SocketTimeoutException, e il membro era ha detto 'Internal Server Error'. Tomcat's disableUploadTimeout defaults a true, che non significa che non c'è upload timeout — significa che il separato, più lungo uno è disabilitato e connessione governa il corpo legge pure. Quel default è 60 e non è mai stato superato, quindi qualsiasi 60 secondi di pausa in un corpo in arrivo ha ucciso la richiesta. Al vecchio soffitto 100 MB a il trasferimento raramente ha funzionato abbastanza a lungo per incontrarne uno; a 3 GiB corre per minuti attraverso browser, Traefik, il prossimo BFF e Tomcat, dove una stalla lunga è vicina inevitabile. Il corpo ora ottiene un'ora, corrispondente al punto di ingresso Traefik di fronte esso, mentre la linea di richiesta e intestazioni mantengono la scadenza degli anni 60 che effettivamente delimita slowloris. Parsing multipart avviene prima di scegliere un handler, quindi questi fallimenti non sono mai arrivati il proprio errore di gestione del controller e cadde fino al vuoto di primavera 500 — lo stesso risposta per una connessione bloccata e un file di grandi dimensioni. Ora rispondono 408 e 413 con un motivo su cui un membro può agire.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo