gpt4 book ai didi

cakephp - "too many redirects"在 heroku 上使用 CakePHP 的 SSL 重定向

转载 作者:太空宇宙 更新时间:2023-11-03 12:57:00 25 4
gpt4 key购买 nike

我得到 [310] Too many redirects heroku 上的错误,当我的蛋糕应用程序在使用 SecurityComponent::requireSecure() 强制它后尝试重定向到安全连接时.

public function beforeFilter() {
$this->Security->blackHoleCallback = '_blackholeCallback';
$this->Security->requireSecure('login', 'register');
}

// ...

public function _blackholeCallback($type) {
if ($type == 'secure') {
$this->redirect('https://' . env('SERVER_NAME') . $this->here);
}
}

最佳答案

问题是 CakePHP 和 heroku 处理它们的安全连接的方式不同。

Cake 检查环境变量“HTTPS”是真还是假。heroku 不提供此环境,而是发送带有“https”值的 header “X-Forwarded-Proto”。

您必须添加一个新的(或覆盖旧的“ssl”)检测器并检查此 header 。我是这样做的:

class AppController extends Controller {

public function beforeFilter() {
$this->request->addDetector('ssl', array('callback' => function() {
return CakeRequest::header('X-Forwarded-Proto') == 'https';
}));

// ...

}
}

希望我能帮助所有在我之后遇到这个问题的人。我花了好几个小时才弄明白。

关于cakephp - "too many redirects"在 heroku 上使用 CakePHP 的 SSL 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15841431/

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