2013-03-17 4 views
7

Ich verwende derzeit Nodejs mit Verbindung als mein HTTP-Server. Gibt es trotzdem HTTPS mit connect zu aktivieren? Ich kann keine Dokumentation darüber finden. Vielen Dank.HTTPS mit Nodejs und verbinden

Herry

+0

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

+1

Überprüfen Sie diesen Blogpost auf Connect 2.0 http://tjholowaychuk.com/post/18418627138/connect-2-0 –

+0

Großartig. Danke für die Hilfe. – herry

Antwort

11

Statt http Server zu erstellen, verwenden https Server für den Anschluss:

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); 

die Dokumentation Siehe httpshere und tls Server (https ist eine Unterklasse von TLS) here

1

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

HTTP und HTTPS

Zuvor connect.Server von Knoten Kern net.Server geerbt, diese machte es schwierig, sowohl HTTP- und HTTPS für Ihre Anwendung . Das Ergebnis von connect() (ehemals connect.createServer()) ist jetzt einfach eine JavaScript-Funktion. Dies bedeutet, dass Sie den Anruf app.listen() können nicht angeben, und einfach App zu einem Knoten net.Server passieren, wie hier gezeigt:

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); 

Das gleiche gilt für Express 3.0 wahr, da es erbt verbinden 2.0