2017-02-24 72 views
0

我有以下的NodeJS服务器:的NodeJS不接受POST服务器请求

** 
* Created by daniel on 27/01/17. 
*/ 
... 
    var express = require('express'); 
... 

    var app = express(); 
    app.use(bodyParser.json()); 
    app.use(bodyParser.urlencoded({ extended: true })); 

    https.createServer({ 
     key: fs.readFileSync('server-key.pem'), 
     cert: fs.readFileSync('server-crt.pem'), 
     ca: fs.readFileSync('ca-crt.pem') 
    }, app).listen(443); 

    app.post('/', function(req, res){ 
     console.log("POSTED!!!!"); 
res.end("blahblahblah"); 



    }); 

我使用下面的链接生成的服务器key.pem,服务器crt.pem和CA-crt.pem

https://engineering.circle.com/https-authorized-certs-with-node-js-315e548354a2#.h0klo4fc1

我在亚马逊EC2实例上运行服务器。

我已将ca-crt移到我的客户端,并将其导入到chrome中。但是,当我使用Postman发送POST请求时,我的服务器不会收到它。

我有一个NodeJS客户端正在运行,它可以成功发送POST请求,它的参数process.env.NODE_TLS_REJECT_UNAUTHORIZED设置为“0”,因为我无法让SSL在那里工作。

我该如何获得a)邮递员不关心SSL或b)使用证书成功地使用证书?我究竟做错了什么?

回答

0

我发现很难调试SSL验证问题。尽管证书起作用会更好,邮差可以disable SSL verification

尽管Postman Chrome应用程序(很快就会停产),但他们的网站实际上已经为各种操作系统指示installing certificates for Chrome(因此Chrome插件)。

+0

奇怪的是,我的邮递员没有这个选项。 –

+0

我目前在MacOS上安装了Postman 4.9.3,我确实有这个选项。 –