加入收藏 | 设为首页 | 会员中心 | 我要投稿 商洛站长网 (https://www.0914zz.com/)- AI应用、CDN、边缘计算、云计算、物联网!
当前位置: 首页 > 运营中心 > Nginx > 正文

http – Nginx proxy_cache_key $request_body被大型请求体忽略

发布时间:2020-11-18 01:53:50 所属栏目:Nginx 来源:互联网
导读:我使用nginx作为反向代理,我希望它缓存POST请求.我的后端已正确配置为POST请求返回适当的缓存控制头.在nginx我配置了:proxy_cache_methods POST; proxy_cache_key $request_method$request_uri$request_body; 这适用于小型HTTP POST请求.但是我开始注意到对

我使用nginx作为反向代理,我希望它缓存POST请求.我的后端已正确配置为POST请求返回适当的缓存控制头.在nginx我配置了:

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

这适用于小型HTTP POST请求.但是我开始注意到对于大型请求(例如文件上传),似乎在proxy_cache_key中忽略了$request_body.当包含文件上载的表单使用完全不同的数据提交两次时,nginx将返回缓存的结果.

什么可能导致这个?如何配置nginx以在proxy_cache_key中使用$request_body(或$request_body的哈希),即使对于大型POST请求也是如此?

最佳答案 事实证明,当$content_length> client_body_buffer_size,
然后请求体被写入文件和变量$request_body ==“”.

另见http://mailman.nginx.org/pipermail/nginx/2013-September/040442.html

(编辑:商洛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读