gpt4 book ai didi

node.js - 从服务器重定向时,页面从 HTTPS 重定向到 HTTP

转载 作者:搜寻专家 更新时间:2023-11-01 00:41:16 25 4
gpt4 key购买 nike

我们有一个在 Amazon Beanstalk 服务上运行的应用程序,它使用 sails.js 作为服务器,使用 Backbone.js 作为客户端。

我们希望网站是安全的,所以我们需要只允许 https 访问作为协议(protocol)。

问题:我们有一个负载均衡器,它获取 HTTPS 协议(protocol)并将流量定向到 HTTP 端口 8080。这导致当从 node.js (sails) 重定向时,页面被重定向到不安全协议(protocol),因为应用程序不知道它来自安全协议(protocol)一个……

这个问题有解决办法吗?

module.exports = function(req, res, next)
{
if (req.isAuthenticated())
return next();
else
{
// here the protocol is replaced with http
res.redirect('/login#');
}
}

最佳答案

一般来说,你需要检查X-Forwarded-Proto header 以查看用户与负载均衡器的连接是通过 HTTP 还是 HTTPS。如果是 HTTP,则重定向到 HTTPS。

关于重定向到 HTTP 的代码,看起来您没有在代码中做任何实际从 HTTP 重定向到 HTTPS 的事情,您只是在不更改协议(protocol)的情况下重定向到登录页面。

关于node.js - 从服务器重定向时,页面从 HTTPS 重定向到 HTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33718440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com