Reference

ATFS-BAD-MAX-REQUEST-BODY

Fully documented: why this happens, and how to fix it.


atfs refused to start because ATFS_MAX_REQUEST_BODY does not parse as a size. This variable caps how large a single upload request atfs itself will accept.

What triggered it

atfs parses ATFS_MAX_REQUEST_BODY as a byte size at startup. Accepted forms include a bare byte count, or a count with a unit suffix such as 75MB or 75MiB. A negative number, an unrecognized unit, or non-numeric text all fail this check.

Why this matters

This setting is atfs’s own upload ceiling, separate from whatever cap a reverse proxy or ingress in front of it enforces. Ingress limits vary widely — plain nginx defaults to a mere 1MiB, while a CDN’s tunnel can allow hundreds of megabytes — so atfs enforces its own limit regardless of what fronts it, near 1 GiB by default. A value atfs cannot parse leaves it unable to decide what to reject, so it stops rather than guess.

Fix

Correct ATFS_MAX_REQUEST_BODY to a valid size, such as 75MB, 75MiB, or a bare byte count. See the settings reference for the full settings table.

Common pitfalls

  • Using a unit atfs does not recognize, such as a bare 75M with no trailing B.
  • Mixing up decimal units (MB, powers of 1000) and binary units (MiB, powers of 1024). Both parse successfully; only the intended size differs.
  • Raising this variable and assuming that alone raises the effective limit. An ingress in front of atfs enforces its own cap first — see Expose to the internet.

See Read the report for how to find this code in the first place, on whichever platform your instance runs.