2012-08-03 4 views

Antwort

99

Siehe the Express docs sowie die Node docs for https.createServer (was ausdrücken zu verwenden empfiehlt):

var privateKey = fs.readFileSync('privatekey.pem'); 
var certificate = fs.readFileSync('certificate.pem'); 

https.createServer({ 
    key: privateKey, 
    cert: certificate 
}, app).listen(port); 

Weitere Optionen für createServer sind: http://nodejs.org/api/tls.html#tls_tls_createserver_options_secureconnectionlistener

+0

Hmmm von Knoten: https.createServer (Optionen, [requestListener]) also Passing-App ist in Ordnung? Ist diese App nicht ein 'Objekt'? – murvinlai

+0

Was ist die Funktionssignatur für 'App'? Ich versuche, auf Github nach Express zu suchen, aber ich sehe nicht, dass es dauert (req, res) – murvinlai

+1

Werfen Sie einen Blick auf die Definition von 'createServer' in' connect.js' (express erbt nur von Connect). Sie werden sehen, dass eine Funktion mit der richtigen Signatur zurückgegeben wird. 'connect()' ist einfach ein Alias ​​für 'connect.createServer()' und daher auch 'express()' (was wahrscheinlich eine zusätzliche Initialisierung ist, aber das Ergebnis ist immer noch eine Funktion, die für die Verwendung als Request-Handler geeignet ist). – ebohlman

79

Ich war in der Lage zu bekommen SSL Arbeit mit dem folgenden Standardcode:

var fs = require('fs'), 
    http = require('http'), 
    https = require('https'), 
    express = require('express'); 

var port = 8000; 

var options = { 
    key: fs.readFileSync('./ssl/privatekey.pem'), 
    cert: fs.readFileSync('./ssl/certificate.pem'), 
}; 

var app = express(); 

var server = https.createServer(options, app).listen(port, function(){ 
    console.log("Express server listening on port " + port); 
}); 

app.get('/', function (req, res) { 
    res.writeHead(200); 
    res.end("hello world\n"); 
}); 
+1

Wie sehen Sie eigentlich die Hallo Welt im Browser? https://127.0.0.1:8000/ gibt mir einen Fehler 107 (net :: ERR_SSL_PROTOCOL_ERROR): SSL-Protokollfehler. – aCuria

+0

zu früh hochgestuft. Ich bekomme - Fehler: AddListener nimmt nur Instanzen der Funktion – Meekohi

+0

Beachten Sie, dass vor einer Weile geschrieben wurde. Dies funktioniert möglicherweise nicht mehr in neueren Versionen von Express oder Node.js – geoffreak

Verwandte Themen