EDB Qué significa un código de error y qué hacer con él

Todos los servicios › atalaya

102050 El cuerpo de la petición supera el máximo admitido

CUERPO_DEMASIADO_GRANDE

Qué ha pasado

La petición trae un Content-Length mayor que ATALAYA_MAX_BODY_BYTES (16 MiB por defecto) y se rechaza ANTES de leerla. Los adjuntos van en base64 dentro del JSON: 10 MB de adjuntos son ~13,4 MB de cuerpo, así que el tope deja margen y quien lo pisa está mandando más de lo que la API admite de todos modos.

Cómo se soluciona

Reducir los adjuntos (tope 10 MB en total, 20 ficheros) o partir el envío. Si el consumidor necesita legítimamente más, se sube ATALAYA_MAX_BODY_BYTES en el deploy y max_size en Caddy a la vez: los dos topes tienen que moverse juntos.

Qué hacer mientras tanto

Ninguno del lado de Atalaya. Un cuerpo sin Content-Length (chunked) NO lo corta este código: lo corta Caddy (request_body max_size). Sin Caddy delante, el tope de la API es el único y solo cubre peticiones con longitud declarada.

Ya costó tiempo

Todavía no. Se añade en la auditoría C-4 (3-sep) al ver que ni Caddy ni la API ponían tope y que la API lee el cuerpo entero antes de validar adjuntos, con 256 MB de contenedor.

Dónde se lanza

src/atalaya/api.py (middleware tope_de_cuerpo) → 413

Cómo se lee el código

1
origen: Fortiseg
02
servicio: atalaya
050
error propio del servicio