我有以下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成功使用证书?我做错了什么?
答案 0 :(得分:0)
我发现调试SSL验证问题很困难。虽然最好使证书有效,但Postman可以disable SSL verification。
虽然它适用于(即将停用)Postman Chrome应用程序,但他们的网站实际上有installing certificates for Chrome(以及Chrome附加组件)的各种操作系统的说明。