Nginx:客户端请求正文缓冲到临时文件

Posted

技术标签:

【中文标题】Nginx:客户端请求正文缓冲到临时文件【英文标题】:Nginx: Client request body is buffered to a temporary file 【发布时间】:2021-04-02 16:29:50 【问题描述】:

我在 AWS 上部署了一个机器学习模型。这是一个图像分类器。当我通过 Flask 中的表单向 ML 模型提供以下图像时,它在某些情况下有效,但在其他情况下无效。

工作图片的链接如下:https://drive.google.com/file/d/1hbrEa2gNLdqGPJxp5jVxWcXl1wunp5Mc/view?usp=sharing

给出错误的图片链接如下:https://drive.google.com/file/d/1znWTRnTMPft_r_jwpJ0JQuMnnazsUXs-/view?usp=sharing

上面两张图片看起来很像。当我选择文件并将其上传以进行分析时,第一张大小约为 150kb 的图像可以使用。但是,当我从 PC 选择并上传它进行分析时,大约 10kb 的图像不会。当我尝试对我的手机浏览器执行相同操作时,都显示错误。

日志中显示的错误是 - [warn]: a client request body is buffered to a temporary file。

【问题讨论】:

【参考方案1】:

我通过以下链接找到了答案:Increasing client_max_body_size in nginx conf on AWS Elastic Beanstalk nginx 配置设置应在名为 .platform 的文件夹中执行。

文件夹结构为(.platform/nginx/conf.d/proxy.conf)

proxy.conf 里面提到:

client_body_buffer_size 50M;(the size according to your requirement).

在 .platform 文件夹中创建另一个名为 00_myconf.config 的文件,其内容如下:

container_commands:
 01_reload_nginx:
   command: "service nginx reload"

关于配置 nginx 的 AWS 文档:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-linux-extend.html (阅读反向代理配置)

【讨论】:

以上是关于Nginx:客户端请求正文缓冲到临时文件的主要内容,如果未能解决你的问题,请参考以下文章

Nginx Location 指令语法解析

如何在nginx创建临时重定向和永久重定向

nginx上传文件大小

如何不保存文件中的更改(以及临时缓冲区!)?

数据库表数据传输到Oracle方案

关于nginx服务器上传限制