我正在尝试将所有 http 请求强制为 https 请求,并且由于弹性负载均衡器未在请求中填充 x-forwarded-proto 标头,因此我面临着问题。
这是我正在使用的代码,因此导致重定向循环。我将如何解决这个问题?
app.use (function (req, res, next) {
console.log('Request headers = ' + JSON.stringify(req.headers));
console.log('Request protocol = ' + JSON.stringify(req.protocol));
var schema = (req.headers['x-forwarded-proto'] || '').toLowerCase();
if (schema === 'https') {
next();
} else {
res.redirect('https://' + req.headers.host + req.url);
}
});