我在nginx反向代理后面有一个node.js应用程序,并且在发出POST请求时无法获取数据(正在使用Firefox的REST Easy插件)。我在网站上查找,找不到有用的东西。这是我的代码。无法从nginx反向代理中的节点应用程序中的发布请求中获取数据
nodetest.js
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
app.post('/test', function (req, res){
var p1 = req.body.param1;
var p2 = req.body.param2;
res.send('param1: '+p1+' param2: '+p2+' ');
});
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(8081, function() {
console.log('Example app listening on port 8081!');
});
的/ etc/nginx的/网站可用/默认
server {
listen 80;
server_name funklipe.cl;
location/{
proxy_pass http://127.0.0.1:8081;
proxy_redirect off;
proxy_http_version 1.1;
proxy_buffering off;
}
}
我用PM2为运行的节点应用
pm2 start nodetest.js
使帖子的时候请求(param1 = foo和param2 = var)我得到
param1: undefined param2: undefined
我希望你能帮助我,如果你需要更多的信息只是让我提前知道
感谢
上面的工作在我的机器上,你的nginx conf是什么样的?你是否在http块中导入默认值?当你发布帖子请求时,你是否在你的POST正文中使用form-urlencoded? – Josh
我没有更改conf,问题是关于标题,似乎我使用的插件没有正确设置标题,所以我将从现在开始使用curl。谢谢=) –