# Streaming ZIP Archives On the Fly With nginx + mod_zip: No Disk, No Buffers, No Problem Page: https://stenobird.com/podcast/programming-tech-brief-by-hackernoon-6364125/streaming-zip-archives-on-the-fly-with-nginx-mod-zip-no-disk-no-buffers-no-problem Text version: https://stenobird.com/podcast/programming-tech-brief-by-hackernoon-6364125/streaming-zip-archives-on-the-fly-with-nginx-mod-zip-no-disk-no-buffers-no-problem.md Podcast: [Programming Tech Brief By HackerNoon](https://stenobird.com/podcast/programming-tech-brief-by-hackernoon-6364125) Published: 2026-06-01T16:00:34+00:00 Episode link: https://share.transistor.fm/s/b33dc0b0 Audio file: https://media.transistor.fm/b33dc0b0/372a980c.mp3 Processing state: not_requested JSON: https://stenobird.com/v1/public/podcasts/programming-tech-brief-by-hackernoon-6364125/episodes/streaming-zip-archives-on-the-fly-with-nginx-mod-zip-no-disk-no-buffers-no-problem Duration seconds: 813 ## Resource This story was originally published on HackerNoon at: https://hackernoon.com/streaming-zip-archives-on-the-fly-with-nginx-mod_zip-no-disk-no-buffers-no-problem . How we stream ZIP archives on the fly at scale using nginx + mod_zip — no disk writes, no buffering, with local and remote files in a single archive. Check more stories related to programming at: https://hackernoon.com/c/programming . You can also check exclusive content about #nginx , #zip , #php , #architecture , #performance , #file-handling , #backend , #hackernoon-top-story , and more. This story was written by: @dmitriistarikov . Learn more about this writer by checking @dmitriistarikov's about page, and for more stories, please visit hackernoon.com . Instead of downloading files to disk, computing checksums, and building a ZIP before serving it, we use nginx + mod_zip to stream archives directly to the client. PHP returns a short manifest listing file URLs and sizes — nginx fetches each file via internal subrequests and pumps them into a ZIP stream in real time. No temp files, no buffering, no waiting. The main gotcha: file sizes are required upfront (ZIP format constraint), which is trivial for local files and requires a HEAD request for remote ones. We hit a production incident caused by zero sizes in metadata from an external team — silent broken archives, hard to debug because mod_zip subrequests don't surface in normal log pipelines. ## Actions - request_transcript: `POST https://stenobird.com/v1/public/podcasts/programming-tech-brief-by-hackernoon-6364125/episodes/streaming-zip-archives-on-the-fly-with-nginx-mod-zip-no-disk-no-buffers-no-problem/transcription-requests` — Idempotently request low-priority transcript generation for this episode. - read_markdown: `GET https://stenobird.com/podcast/programming-tech-brief-by-hackernoon-6364125/streaming-zip-archives-on-the-fly-with-nginx-mod-zip-no-disk-no-buffers-no-problem.md` — Read the agent-friendly Markdown representation of this episode resource. A page view does not enqueue transcription. Agents should invoke `request_transcript` explicitly when they need this episode processed. ## Transcript Full transcripts are not published on public pages unless there is a clear rights basis.