2017-02-24 84 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,我確實有這個選項。 –