NodeJS服务器不接受POST请求

时间:2017-02-24 00:47:33

标签: node.js ssl amazon-ec2 postman

我有以下nodeJS服务器:

**
 * 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");



    });

我使用以下链接生成了server-key.pem,server-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)chrome成功使用证书?我做错了什么?

1 个答案:

答案 0 :(得分:0)

我发现调试SSL验证问题很困难。虽然最好使证书有效,但Postman可以disable SSL verification

虽然它适用于(即将停用)Postman Chrome应用程序,但他们的网站实际上有installing certificates for Chrome(以及Chrome附加组件)的各种操作系统的说明。