2013-04-08 113 views
2

我有一个非常奇怪的问题,一个非常简单的设置。nginx不会转发POST数据到uwsgi - [更新]瓶不读取后数据

安装程序已部署nginx Web服务器,用于为某些静态页面提供服务。它也有一个后端uwsgi deamon来处理POST请求。

我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这个服务器,并发出POST请求。

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

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

任何指针?

在此先感谢

[更新]

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

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

在两种情况下TEH uwsgi从nginx的接收到正确的POST数据所以看来这是是与uwsgi

[UPDATE 2]

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

我用我的服务器后端应用程序的烧瓶microframe的python和问题是这样的。

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

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

因此,任何烧瓶书呆子在那里,PLZ帮我这个

+1

问题出在jquery ajax调用。在阅读这篇文章http:// stackoverflow后得到了线索。com/questions/11839855/flask-not-getting-getting-any-data-from-jquery-request-data – Shyam 2013-04-08 18:49:43

+0

如果你找到解决方案,你总是可以发布你的问题答案,所以也许另一个人也会发现它你也可以在一段时间后接受你自己的回答,所以我们都知道这个问题已经解决了)。 – 2013-04-09 04:41:53

回答