[英]Node.js SSL authentication
我設置了HTTPS node.js服務器,但是在理解如何正確使用它方面遇到了麻煩。
app.get('/test', function(req, res){
console.log('got in');
if(req.client.authorized){
res.send(200, 'certified');
}else{
res.send(200, 'idk who you are');
}
});
require('https').createServer({
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem'),
requestCert: true,
rejectUnauthorized: false
}, app).listen(8080);
客戶端必須做什么才能在我的服務器上獲得“授權”?
我可以瀏覽到
https://localhost:8080/test
並告訴我我的證書不受信任(沒關系,SSL現在是自簽名的。)。 無論如何,我都會繼續,但是我總是去'idk you are',這意味着SSL身份驗證失敗。
我很確定我在這里錯過了一步。
PS,如果很重要,我正在設置SSL以用於加密。
由於客戶端提供的證書未由受信任的證書頒發機構簽名,因此authorized
屬性為false。 被視為rejectUnauthorized
為假,不拒絕連接,而是將其標記為未授權。
看到這里-https://github.com/joyent/node/blob/master/lib/_tls_wrap.js#L512
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.