1

次の問題があります。

リバースプロキシは、内部ネットワーク内のサーバーへの安全な(https)接続を確立するために使用されます。したがって、アドレスはhttps://<url>です。ログインページ(https://<url>/users/login)を表示して[送信]をクリックすると、httpsが(loginRedirectによって)削除され、http経由でURLに接続しようとします。もちろん、これはタイムアウトになりますが、ユーザーはログインしています。ユーザーがページに直接アクセスしている場合は、機能しています。

ユーザーがページにアクセスすると、必要なすべてのことを実行でき、他のリンクは期待どおりにhttpsで表示されます。

loginRedirectがhttpsを削除することを回避するにはどうすればよいですか?$this->redirect('<url>');1つの解決策は、代わりに単純に使用することです$this->redirect($this->Auth->redirect());が、誰かがログインしておらず、認証が必要なページの特定の部分にアクセスしようとすると、直接リンクの処理が失われます。

4

1 に答える 1

1

CakePHP lighthouse フォーラムで助けを得たので、その解決策をあなたと共有したいと思います。実際にはかなり簡単でした。リバース プロキシのシナリオでは、bootstrap.php (config フォルダー内) を編集し、次のベース URL を追加する必要があります。

define('FULL_BASE_URL','https://your base url');
于 2012-08-23T21:54:03.503 に答える