gpt4 book ai didi

post - nginx 不将 POST 数据转发到 uwsgi -- [UPDATE] flask 不读取 post 数据

转载 作者:行者123 更新时间:2023-12-03 16:46:02 29 4
gpt4 key购买 nike

我有一个非常简单的设置有一个非常特殊的问题。

该设置部署了 nginx Web 服务器以提供一些静态页面。它还有一个用于处理 POST 请求的后端 uwsgi 守护进程。

我的nginx位置配置如下

#For handling POST Request
location = / {
# index index.html;
# autoindex on;

uwsgi_pass unix:/tmp/uwsgi.sock;
include uwsgi_params;
}

#For handling static page requests under /custpages
location ^(/custpages).*(\.html) {

autoindex off;

}

当我部署此服务器并从浏览器发出发布请求时,nginx 不会将 POST 数据发送到 uwsgi。

但有趣的是,当我使用 python 请求发出独立的 POST 请求时,它按预期工作。

我想知道,与独立请求相比,基于浏览器的 POST 请求有什么问题,因为两者都通过 nginx。

任何指针?

提前致谢

[更新]

这似乎是 uwsgi 的问题。
对于从 python 请求发送的 POST,它返回 POST 数据,因为我可以在 uwsgi 日志中看到响应字节。

但是对于从浏览器发送的请求,响应字节为零。

在这两种情况下,uwsgi 都从 nginx 接收正确的 POST 数据,所以这似乎与 uwsgi 有关

[更新 2]

进一步更新。这个问题与 nginx 或 uwsgi 无关。

我正在为我的服务器后端应用程序使用带有flask微框架的python,问题是这样的。

我使用当前请求上下文对象读取POST数据如下
data_string = request.data

现在,事实证明,当从浏览器发出 POST 时,request.data 是空的
当从 python 请求发出 POST 时,request.data 包含正确的 POST 数据。

所以,那里有任何 flask Nerd ,请帮我解决这个问题

最佳答案

此问题是由于 flask 框架中的固有行为导致 POST 数据未出现在当前请求上下文对象中。

有关详细信息和解决方案,请参阅以下问题。

Flask not getting any data from jQuery request data

关于post - nginx 不将 POST 数据转发到 uwsgi -- [UPDATE] flask 不读取 post 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15876433/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com