0
在開發過程中,我想啓動兩個使用http和https模塊的server.js(app.js)腳本實例,一個路由重定向(*
) https並運行說端口3000
一個實例和另一端口3001
。現在,如果我執行端口80
到端口443
我沒有任何問題,但必須使用sudo
啓動腳本,我只能有一個實例。有沒有一種方法可以將http重定向到同一端口上的https。將Express.js HTTP重定向到同一端口上的HTTPS
application.get('*', function(request, response, next) {
if (!request.secure) {
response.redirect('https://' + request.headers.host + request.url);
} else {
next();
}
});
http
.createServer(application)
.listen(80, function() {
var uid = parseInt(process.env.SUDO_UID);
if (uid) {
process.setuid(uid);
}
});
https
.createServer({
key: fs.readFileSync(...),
cert: fs.readFileSync(...)
}, application)
.listen(443, function() {
var uid = parseInt(process.env.SUDO_UID);
if (uid) {
process.setuid(uid);
}
console.log(
'Express server running in %s environment at %s',
process.env.NODE_ENV || 'development',
moment()
);
});
您不能在同一端口上運行兩個不同的服務器... – Qualcuno