2013-03-17 25 views
7

Obecnie używam nodejs z connect jak mój serwer HTTP. Czy mimo to aktywujesz HTTPS z połączeniem? Nie mogę znaleźć żadnej dokumentacji na ten temat. Dzięki.HTTPS z nodejs i połącz

Herry

+0

http://nodejs.org/api/https.html#https_class_https_server. – verisimilitude

+1

Przeczytaj ten wpis na blogu na stronie Connect 2.0 http://tjholowaychuk.com/post/18418627138/connect-2-0 –

+0

Świetnie. Dzięki za pomoc. – herry

Odpowiedz

11

Zamiast tworzyć serwer http, użyj serwera https dla connect:

var fs = require('fs'); 
var connect = require('connect') 
    //, http = require('http'); Use https server instead 
    , https = require('https'); 

var options = { 
    key: fs.readFileSync('ssl/server.key'), 
    cert: fs.readFileSync('ssl/server.crt'), 
    ca:  fs.readFileSync('ssl/ca.crt') 
}; 
var app = connect(); 
https.createServer(options,app).listen(3000); 

Zobacz dokumentację dla httpsSerweri tls (https jest podklasą tls) here

1

Od http://tjholowaychuk.com/post/18418627138/connect-2-0

HTTP i HTTPS

Wcześniej connect.Server dziedziczone z węzła podstawowego net.Server ten utrudnia zapewnienie zarówno HTTP i HTTPS dla aplikacji . Wynik funkcji connect() (dawniej connect.createServer()) jest teraz po prostu funkcją JavaScript. Oznacza to, że można pominąć wezwanie do app.listen() i po prostu przekazać aplikację do węzła net.Server jak pokazano tutaj:

var connect = require('connect') 
    , http = require('http') 
    , https = require('https'); 

var app = connect() 
    .use(connect.logger('dev')) 
    .use(connect.static('public')) 
    .use(function(req, res){ 
    res.end('hello world\n'); 
    }) 

http.createServer(app).listen(80); 
https.createServer(tlsOptions, app).listen(443); 

To samo odnosi się do wyraźnej 3,0 gdyż dziedziczy połączyć 2,0