我想在我的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();
}
我希望这能有所帮助!