如何在CakePHP中强制https而不从http重定向


How to force https in CakePHP without redirect from http?

我想在我的CakePHP应用程序中使用https。

我发现一些文章解释了如何在CakePHP中强制https(http://blog.andolasoft.com/2013/07/ssl-authentication-using-security-component-in-cakephp.html)

但问题是我使用的是负载均衡器 (AWS),所以如果我使用重定向(重定向循环),我会遇到问题。

有人有这个问题的经验吗?

如何在 CakePHP 中强制 https 而不从 http 重定向?

非常感谢。

我在服务器上使用CakePHP 2,没有https,但使用激活的cloudflare(使用https)。所以CloudFlare给我https给最终用户。这是我添加到我的/app/webroot/index.php 以使其工作的内容:

function isSSL(){
    if( !empty( $_SERVER['https'] ) )
        return true;
    if( !empty( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' )
        return true;
    return false;
}
define('IS_IN_PRODUCTION', 1);
if( !isSSL() && IS_IN_PRODUCTION > 0){
    header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
    exit();
}

我希望这能有所帮助!