Uploads larger than 32KB fail with 500 — client_body_temp not writable by nginx worker #3370
-
|
Hi, I ran into an issue that's a bit tricky to spot, so I wanted to write it up in case others hit the same thing. When a client uploads anything bigger than ~32KB, nginx wants to buffer the body to What I see inside the container: And the matching nginx error: Interestingly, In my case it took a while to track down because most apps send small requests, so the buggy code path basically never gets exercised. The trigger here was an ESP32 GPS logger uploading 100+ KB GPX files. Workarounds I tried:
A proper fix would probably be a Environment: Happy to provide more info if it helps. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 1 reply
-
|
can you please share your compose.yaml? |
Beta Was this translation helpful? Give feedback.
-
|
There's no compose file — the container was started via Unraid's docker template. Equivalent of what's running, with paths anonymized: services:
npmplus:
image: zoeyvid/npmplus:latest
network_mode: "br0" # macvlan
restart: unless-stopped
environment:
- PUID=99
- PGID=100
- TZ=Europe/Berlin
- GOA=false
- ACME_PROFILE=none
volumes:
- <appdata>/npmplus/data:/data
- <appdata>/npmplus/www:/var/wwwNothing special — Worth noting: |
Beta Was this translation helpful? Give feedback.
-
|
Quick follow-up: you were right that start.sh handles this — the misalignment was on my end. I recreated the container from scratch (removed it, re-installed from the same template), and the temp directories now look exactly as expected: Owned by Best guess at what was different on the original container: it had been running for a long time and at some point lost its So nothing for you to fix here — the start.sh logic is sound, it just needed to actually run end-to-end. Thanks for taking the time to look. |
Beta Was this translation helpful? Give feedback.
Quick follow-up: you were right that start.sh handles this — the misalignment was on my end.
I recreated the container from scratch (removed it, re-installed from the same template), and the temp directories now look exactly as expected:
Owned by
npm:users, all created during startup, uploads work withoutclient_body_buffer_sizeworkarounds.Best guess at what was different on the o…