Stel proxy-time-outs in op basis van de langzaamste legitieme upload die je accepteert, met marge, en zorg dat de applicatie en eventuele upstream-proxy minstens even ruim zijn ingesteld. Los niet elke mislukte upload op door een onbeperkte time-out te kiezen.
Een grote foto of video kan mislukken terwijl dezelfde app normaal werkt, omdat de request body, upstream-verwerking of respons een andere limiet overschrijdt. Leg eerst de statuscode, verstreken tijd, bestandsgrootte en proxylog vast. Met die gegevens kun je onderscheid maken tussen een afwijzing op basis van bodygrootte, een idle-time-out, een backend-time-out of een verbroken clientverbinding.
Identificeer de fase waarin de upload eindigt
Herhaal de test met één bekend bestand en noteer of de fout optreedt tijdens de overdracht, nadat de voortgangsbalk 100 procent bereikt, of terwijl de server media verwerkt. Elke fase correspondeert met een andere verbinding en time-out.
Een consistente fout bij hetzelfde aantal bytes wijst op een limiet voor de bodygrootte; een fout na hetzelfde tijdsinterval zonder activiteit wijst op een time-out. Een gatewayfout nadat de upload is voltooid, wijst op het wachten tussen proxy en applicatie of op de eigen verwerkingslimiet van de applicatie.
Lees de access- en errorlogs van de proxy samen met de applicatielogs. Als de client de verbinding als eerste heeft gesloten, helpt het niet om alleen de proxy-time-out te verhogen; controleer het gedrag van de mobiele app op de achtergrond, de stabiliteit van de VPN en het pad van de aanvraag in de browser.
Bereken een verdedigbaar time-outbudget
Deel het grootste geaccepteerde bestand door de langzaamste ondersteunde upstreamsnelheid om de overdrachtstijd te schatten en voeg ruimte toe voor TLS, buffering en wisselende doorvoersnelheid. Gebruik dit als bovengrens voor legitiem werk, niet als belofte dat elke trage verbinding eindeloos open moet blijven.
Maak onderscheid tussen totale duur en duur zonder activiteit. NGINX documenteert bijvoorbeeld afzonderlijke proxy-time-outdirectieven, en sommige daarvan meten de tijd tussen opeenvolgende bewerkingen in plaats van de duur van de volledige respons.
Houd het risico op denial-of-service in het oog. Beperk upload-eindpunten met authenticatie en snelheidscontroles voordat je de verbindingsduur aanzienlijk verlengt, en stel de beheerinterface van de proxy niet bloot.
Stem elke laag op elkaar af zonder te overcompenseren
Stel de maximale request-bodygrootte in op de ondersteunde maximumgrootte van de applicatie of hoger. Stem vervolgens de time-outs voor de client-body, upstreamverbinding, upstream-lezen en upstream-verzenden af op basis van de waargenomen foutfase.
Controleer of er een externe CDN, tunnel, load balancer of tweede reverse proxy is met een kortere, niet-aanpasbare limiet. De effectieve limiet is de kleinste in de keten, dus alleen de interne proxy wijzigen kan zonder zichtbaar resultaat blijven.
Leg applicatie-URL's en proxyroutes vast in de documentatie. De ZimaSpace-handleiding voor Immich op een netwerkshare helpt om fouten in het uploadpad te onderscheiden van latentie en uitval van de opslagkoppeling.
Test trage, grote en onderbroken uploads opnieuw
Upload het oorspronkelijke probleem bestand vanaf de oorspronkelijke locatie en met dezelfde netwerksnelheid. Een geslaagde test vereist voltooiing, indexering door de applicatie en een afspeelbaar of bekijkbaar bestand - niet alleen een HTTP-succescode.
Beperk een testverbinding tot de minimaal ondersteunde snelheid en herhaal de test. Onderbreek vervolgens bewust één upload; tijdelijke bestanden en onvolledige databasegegevens moeten volgens het gedrag van de applicatie worden opgeschoond.
Verhoog time-outs niet verder zodra uit de logs blijkt dat er sprake is van een backendcrash, opslagfout of een vaste limiet van een externe provider. Draai buitensporige waarden terug, los de fout in de betreffende laag op en behoud de kortste time-out die de gemeten werklast consequent dekt.
Veelgestelde vragen
Moeten alle proxy-time-outs dezelfde waarde hebben? Nee. Het tot stand brengen van een verbinding, het lezen van de client-body, het wachten op een upstreamrespons en het verzenden naar de downstream beschermen verschillende fasen.
Waarom werkt een kleine foto wel terwijl een video mislukt? De video kan een drempel voor de bodygrootte overschrijden, langer duren dan een idle-limiet of langere verwerking aan de serverzijde activeren; de logs en het tijdstip van de fout maken duidelijk welke van deze oorzaken van toepassing is.
Ondersteuning & Tips
Meer om te lezen

Kan een zelfgehoste galerij de koppeling van Apple Live Photos behouden?
Een voorwaardelijke beslissing voor een thuisserver voor het koppelen van Apple Live Photos, met gecontroleerde tests, interpretatie van resultaten, terugdraaien en gerichte veelgestelde vragen.

Kun je Google Takeout en back-ups van telefoons importeren in één fotobibliotheek?
Een voorwaardelijke beslissing voor een homeserver voor gecombineerde foto-import, met gecontroleerde tests, interpretatie van de resultaten, terugdraaien en gerichte veelgestelde vragen.

Kan Immich een externe bibliotheek gebruiken zonder eigenaar van de bestanden te worden?
Een voorwaardelijke beslissing voor een thuisserver over eigenaarschap van externe bibliotheken in Immich, met gecontroleerde tests, interpretatie van resultaten, terugdraaien en gerichte veelgestelde vragen.

