Nginx 文件上传时出现 403 错误 - 将多部分/表单数据传递给代理/服务器

Nginx 文件上传时出现 403 错误 - 将多部分/表单数据传递给代理/服务器

我有一个非常简单的 Nginx 服务器,它将流量从子域转发到端口 8000 上的 http 服务器,如下所示:

server {
    listen       80;
    server_name *.localhost;

    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host            $host;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
}

然后,我的 http 服务器通过读取主机名等来处理所有事情,并且它可以很好地处理任何基本的 api/json 请求。

现在我正尝试将文件发送到我的服务器,但是在发送文件/多部分表单数据时,nginx 出现 403 错误。

通过阅读文档我有点困惑,因为“upload_pass_args”似乎需要在 conf 文件中配置专用路由,而这根本不是我想要的。我只需要将多部分/表单数据传递到我的服务器路由器进行处理(:8000 上的 http 服务器)

我也尝试将sendfile on;其包含在我的服务器{}或内部位置{}中,但没有成功。

答案1

proxy_request_buffering off;将修复该问题。

从阅读回答我怀疑缓冲区的正确配置是可行的方法,当我尝试/完成时,我会尝试更新这个答案。

相关内容