Handleiding voor probleemoplossing bij reverse-proxy-uploads van grote foto’s en video’s

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

De veilige aanpak is om een gecontroleerde test met oplopende grootte en vaste tijdslimieten, die de falende laag identificeert voordat limieten, buffering of netwerkinstellingen worden gewijzigd, te behandelen als een reeks waarneembare controlepunten en niet als één enkele opdracht.

Bij een zelfgehoste foto- of mediatoepassing achter een of meer proxy's is het praktische risico dat kleine uploads slagen, maar grote foto's of video's via de reverse proxy mislukken, worden afgebroken of een time-out krijgen. Noteer de huidige identiteit en het herstelpunt, begin met de minst ingrijpende onderscheidende test, interpreteer geslaagde en mislukte resultaten voordat je een andere variabele wijzigt, en stop wanneer de opslag instabiel wordt of de enige herstelbare kopie blootgesteld zou worden. De onderstaande workflow eindigt pas nadat de oorspronkelijke workload slaagt of het bewijsmateriaal een escalatiegrens bereikt.

Reproduceer één upload met een oplopende bestandsgrootte

Gebruik één client, account, netwerk, hostnaam en bestandstype. Upload een klein controlebestand en daarna steeds grotere testbestanden, terwijl je het exacte aantal bytes, de duur, de browserfout, de HTTP-status, tijdstempels van proxy-toegangs- en foutlogboeken, toepassingslogboeken en de aanwezigheid van eventuele gedeeltelijke objecten vastlegt.

Test hetzelfde grootste bestand indien mogelijk via een vertrouwd rechtstreeks toepassingseindpunt. Als rechtstreeks uploaden slaagt en uploaden via de proxy mislukt, is het proxypad verdacht; als beide bij dezelfde grootte of in dezelfde fase mislukken, onderzoek dan het gedrag van de toepassing, opslag of client voordat je de proxyconfiguratie wijzigt.

Verhoog niet alle limieten voor grootte en time-outs tegelijk. Bewaar de huidige configuratie en metingen van de vrije ruimte, en stop als het testen het gegevensvolume van de toepassing vult of een onbeveiligd backend-eindpunt blootlegt.

Onderscheid afwijzing op grootte van een fout door verstreken tijd

Een onmiddellijke 413 of afwijzing bij een herhaalbare drempel in bytes wijst op een beleid voor de maximale bodygrootte in de eerste laag die die status retourneert. Een 408, 499, 502, 504 of verbroken verbinding na een herhaalbare duur wijst eerder op een time-out van de client, proxy, upstream, tunnel of toepassing.

Een Traefik-communitycasus over een time-out bij grote uploads laat zien waarom de duur en het volledige proxy-naar-toepassingpad van belang zijn: een grote upload kan via een tunnel mislukken, ook wanneer gewone foto's en browsen wel werken. Behandel de casus als een diagnostisch kenmerk en niet als een universele waarde voor de time-out.

Breng elke hop in kaart die limieten kan afdwingen: CDN of tunnel, edgeproxy, authenticatieproxy, toepassingsproxy, applicatieserver, runtime en uploadeindpunt. De eerste laag die de fout logt of retourneert, bepaalt de volgende test.

Controleer buffering, tijdelijke opslag en transport

Observeer tijdens het uploaden van het gecontroleerde bestand de tijdelijke proxymappen, beschrijfbare containerlagen, uploadpaden van de toepassing, bestandssysteemcapaciteit, beschikbare inodes en het geheugen. Buffering kan schijfruimte of geheugen verbruiken voordat de toepassing de body ontvangt; een ruime uiteindelijke bibliotheekvolume bewijst dus niet dat de proxy werkruimte heeft.

Een Nextcloud- en Traefik-melding over een storing bij grote uploads over meerdere lagen illustreert hoe hetzelfde symptoom bij grote bestanden meerdere web-, toepassings- en proxylagen kan omvatten. Gebruik de les over meerdere lagen, maar koppel je wijziging aan de status, het tijdstempel in het logboek en de resource die daadwerkelijk faalt.

Als fouten variëren in plaats van een vaste grens voor grootte of tijd te volgen, vergelijk dan Ethernet-, wifi-, VPN- en rechtstreekse LAN-paden. Houd één stabiele route aan en test MTU, pakketverlies en tunnelgedrag afzonderlijk, in plaats van toepassingslimieten te verhogen om transportverbindingen die worden gereset te verbergen.

Pas één passende oplossing toe en herhaal de oorspronkelijke upload

Wijzig alleen de bevestigde grens: een afgebakende limiet voor de bodygrootte, de specifieke request- of responsetime-out, de buffermodus of de toewijzing van tijdelijke opslag. Laat authenticatie, TLS en niet-gerelateerde virtuele hosts ongewijzigd, laad daarna de proxy opnieuw en controleer de effectieve configuratie.

De ZimaSpace-workflow voor een test van het rechtstreekse versus geproxiede pad laat zien hoe een vergelijking tussen beide paden het proxypad na een herstart isoleert. Pas hier dezelfde grens toe, herhaal daarna exact tweemaal hetzelfde grote bestand en controleer de uiteindelijke grootte, indien beschikbaar de checksum, de verwerking van metadata en het opruimen van tijdelijke bestanden.

Start de proxy één keer opnieuw en herhaal de upload vanaf het oorspronkelijke externe pad. Sluit het incident pas wanneer kleine en grote bestanden slagen zonder nieuwe blootstelling of druk op de opslag; draai de wijziging terug als de limietwijziging andere hosts beïnvloedt, en escaleer met bewijs van status, timing, laag en resource wanneer geen enkele grens reproduceerbaar is.

Ondersteuning & Tips

Meer om te lezen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.