ssl - 由于强制 ssl 导致网络重定向循环

标签 ssl meteor

有什么方法可以要求 HTTPS 重定向吗?

强制 SSL 包导致循环...

我在 azure 上使用一个 demeteorized 应用程序...已经看到了 nginx 等的解决方案,但没有提到这个

最佳答案

强制 SSL 包不适用于服务器位于负载平衡器后面的环境,该负载平衡器将重定向到服务器作为 HTTP。就服务器而言,所有流量都是 HTTP,而不是 HTTPS,因此您最终会陷入无限循环。

在某些情况下,您可以查看 header 以查看请求是否已在本地降级为 HTTP,但它并不总是按预期工作。

我最终删除了强制 SSL 包,然后在页面模板中使用 JavaScript 来查看协议(protocol)是否为 HTTP,然后将用户重定向到 HTTPS 以防止出现问题。

示例

<script>
    if (location.protocol.toLowerCase() === 'http:') {
        window.location.href = 'https://example.com' +
                               (location.pathname ? location.pathname : '') +
                               (location.search ? location.search : '');
    }
</script>

关于ssl - 由于强制 ssl 导致网络重定向循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35669491/

相关文章:

Play 框架中通过 SSL 的 MongoDB 连接

java - HttpClient https Post 请求失败

在 Accounts.createUser 上禁止 Meteor 注册

meteor - MeteorJS 的基本问题

java - 存在多个匹配证书时如何选择SSL客户端证书?

node.js - 无法使用 Nodemailer 连接到 outlook.com SMTP

ssl - PHPMailer 验证对等 SSL

javascript - Meteor.publish 回调未被调用

javascript - 如何在模板助手中使用 Meteor 方法

node.js - 部署到 Heroku 时已弃用 Meteor Fibers