我使用 nginx 作为反向代理,我希望它缓存 POST 请求。我的后端已正确配置为为 POST 请求返回适当的缓存控制标头。在 nginx 中,我配置了:
proxy_cache_methods POST;
proxy_cache_key "$request_method$request_uri$request_body";
这适用于小型 HTTP POST 请求。但是我开始注意到对于大型请求(例如文件上传),它似乎$request_body
在proxy_cache_key
. 当包含文件上传的表单以完全不同的数据提交两次时,nginx 将返回缓存的结果。
什么可能导致这种情况?我如何配置 nginx 以在大型 POST 请求中使用$request_body
(或哈希$request_body
) ?proxy_cache_key