我在我的頁面上安裝了一個SSL證書,該證書運行Node.js + Express應用程序,將Express服務器配置爲始終強制重定向到HTTP並且一切正常,除了https重定向僅在重新加載頁面或再次按下Enter鍵時起作用。我錄一個GIF顯示會發生什麼:HTTPS重定向僅在頁面重新加載時才起作用
這是我的Express配置。
var express = require('express');
var path = require('path');
var serveStatic = require('serve-static');
var forceSsl = function (req, res, next) {
if (req.headers['x-forwarded-proto'] !== 'https') {
return res.redirect(['https://', req.get('Host'), req.url].join(''));
}
return next();
};
app = express();
app.use(serveStatic(__dirname));
if(process.env.NODE_ENV === 'production') {
app.use(forceSsl);
}
app.all('/*', function(req, res) {
res.sendfile('index.html');
});
var port = process.env.PORT || 5000;
app.listen(port);
console.log('server started '+ port);
我的應用程序在Heroku上運行。任何人都可以幫我找出發生了什麼?
在此先感謝。
就是這樣!感覺快樂和愚蠢的同時:) – felipeecst