1
有沒有辦法在Express上爲SSL設置自定義端口?這僅用於開發目的。我在80/443上有一個Apache/PHP項目。在自定義端口上設置快速/節點SSL
我試過下面這個教程 http://www.hacksparrow.com/express-js-https.html
但說實話,我不能得到那個工作。如果有人可以發佈正確的方式來配置Express來做到這一點,那將是非常棒的。這是我的服務器配置:
var hskey = fs.readFileSync('mywebsite-key.pem');
var hscert = fs.readFileSync('mywebsite-cert.pem')
var options = {
key: hskey,
cert: hscert
};
//Create server
var app = express(options);
// Configure server
app.configure(function() {
//parses request body and populates request.body
app.use(express.bodyParser());
//checks request.body for HTTP method overrides
app.use(express.methodOverride());
//perform route lookup based on url and HTTP method
app.use(app.router);
//Where to serve static content
app.use(express.static(path.join(application_root, 'public')));
//Show all errors in development
app.use(express.errorHandler({
dumpExceptions: true,
showStack: true
}));
});
//Start server
var port = nconf.get('port');;
var server = require('http').createServer(app),
io = require('socket.io').listen(server);
server.listen(port, function() {
console.log('Express server listening on port %d in %s mode', port, app.settings.env);
});
好極了,謝謝!你能幫助我最後一步 - 我如何將任何http流量重定向到https? – metalaureate
看到這個答案http://stackoverflow.com/a/7458587/568109。你可以通過node.js完成它,但它需要兩臺服務器。 iptables可能更有效率。 – user568109