我有以下问题。
反向代理用于建立与内部网络中服务器的安全(https)连接。所以地址是https://<url>
。如果我现在在登录页面(https://<url>/users/login)
并点击“提交”,则https被删除(通过loginRedirect)并且它正在尝试通过http连接到网址。当然,这已经进入超时但用户已登录。如果用户正在直接访问页面,则它正在运行。
一旦用户在页面上,他就可以执行所有必要的操作,其他链接会按预期显示https。
如何避免loginRedirect删除https?一种解决方案是简单地使用$this->redirect('<url>');
而不是$this->redirect($this->Auth->redirect());
,但如果某人未登录并尝试访问需要身份验证的页面的特定部分,我将失去直接链接的处理。
答案 0 :(得分:1)
我在CakePHP灯塔论坛上得到了帮助,我想与您分享解决方案。这实际上非常简单。在反向代理方案中,您必须编辑bootstrap.php(在config文件夹中)并添加以下基本URL:
define('FULL_BASE_URL','https://your base url');