我们有一个在Amazon Beanstalk服务上运行的应用程序,它使用sails.js作为服务器,Backbone.js作为客户端。
我们希望网站安全,因此我们只需要允许https访问作为协议。
问题: 我们有一个负载均衡器,它获取HTTPS协议并将流量指向HTTP端口8080.这导致从node.js(sails)重定向时,页面被重定向到不安全的协议,因为应用程序不知道它来自安全一个...
是否有关于此问题的解决方法?
module.exports = function(req, res, next)
{
if (req.isAuthenticated())
return next();
else
{
// here the protocol is replaced with http
res.redirect('/login#');
}
}
答案 0 :(得分:3)
通常,您需要检查X-Forwarded-Proto标头,以查看用户与负载均衡器的连接是通过HTTP还是HTTPS。然后,如果是HTTP,则重定向到HTTPS。
关于您的代码重定向到HTTP,看起来您在代码中没有做任何事情来实际从HTTP重定向到HTTPS,您只需重定向到登录页面而不更改协议。