以前は、古いバージョンのエクスプレスでは、次のことができました。
express.createServer({key:'keyFile', cert:'certFile'});
ただし、express の新しいバージョンでは、これは機能しなくなりました。
var app = express();
証明書を設定するために電話する必要がapp.use()
ありますか? もしそうなら、どのように?
以前は、古いバージョンのエクスプレスでは、次のことができました。
express.createServer({key:'keyFile', cert:'certFile'});
ただし、express の新しいバージョンでは、これは機能しなくなりました。
var app = express();
証明書を設定するために電話する必要がapp.use()
ありますか? もしそうなら、どのように?
https.createServerの Express ドキュメントとNode ドキュメントを参照してください(これは Express が推奨する使用方法です)。
var privateKey = fs.readFileSync( 'privatekey.pem' );
var certificate = fs.readFileSync( 'certificate.pem' );
https.createServer({
key: privateKey,
cert: certificate
}, app).listen(port);
createServer のその他のオプションは、http://nodejs.org/api/tls.html#tls_tls_createserver_options_secureconnectionlistener にあります。
次のボイラープレート コードで SSL を動作させることができました。
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");
});