since proxy_pass modified control cache http nginx reverse-proxy multipartform-data cache-control

http - proxy_pass - Nginx proxy_cache_key $ request_body se acepta para el cuerpo de solicitud grande



nginx module cache (1)

Uso nginx como un proxy inverso y me gustaría almacenar en caché las solicitudes POST. Mi back-end está configurado correctamente para devolver los encabezados de control de caché apropiados para las solicitudes POST. En nginx he configurado:

proxy_cache_methods POST; proxy_cache_key "$request_method$request_uri$request_body";

Esto funciona muy bien para pequeñas solicitudes HTTP POST. Sin embargo, comencé a notar que para solicitudes grandes (por ejemplo, cargas de archivos) parece que el $request_body se ignora en la proxy_cache_key . Cuando un formulario que contiene una carga de archivo se envía dos veces con datos completamente diferentes, nginx devolverá el resultado en caché.

Que podria causar esto? ¿Cómo puedo configurar nginx para usar el $request_body (o un hash de $request_body ) en la proxy_cache_key incluso para grandes solicitudes POST?