2015-10-09 3 views
1

Я следил за этим руководством по настройке ssl внутри узла. http://blog.nategood.com/nodejs-ssl-client-cert-auth-api-restнастройка ssl с помощью экспресс-сервера

Здесь файлы сертификатов загружаются путем передачи параметров объекта в createServer

var options = { 
    key: fs.readFileSync('ssl/server.key'), 
    cert: fs.readFileSync('ssl/server.crt'), 
    ca:  fs.readFileSync('ssl/ca.crt'), 
    requestCert:  true, 
    rejectUnauthorized: false 
}; 

https.createServer(options, function (req, res) { 
    if (req.client.authorized) { 
     res.writeHead(200, {"Content-Type": "application/json"}); 
     res.end('{"status":"approved"}'); 
    } else { 
     res.writeHead(401, {"Content-Type": "application/json"}); 
     res.end('{"status":"denied"}'); 
    } 
}).listen(443); 

Однако я использую экспресс для моих потребностей сервера приложений.

Поток идет что-то вроде этого:

var express = require('express'); 
var app = express(); 

app.get('/', function(req, res){ 
    res.send('hello world'); 
}); 

app.listen(3000); 

Где я прохожу в деталях сертификата?

ответ

0

Просто пройти экспресс-объект приложения в https.createServer обратного вызова:

var express = require('express'); 
var app = express(); 
var options = { 
    key: fs.readFileSync('ssl/server.key'), 
    cert: fs.readFileSync('ssl/server.crt'), 
    ca:  fs.readFileSync('ssl/ca.crt'), 
    requestCert:  true, 
    rejectUnauthorized: false 
}; 

app.get('/', function(req, res){ 
    res.send('hello world'); 
}); 

https.createServer(options, app).listen(3000); 
Смежные вопросы