3

cloudControl で CakePHP(1.3) を使用して開発した Web アプリケーションを実行しています。

ピギーバック SSL を使用して、経由でアプリに問題なくアクセスできますhttps://が、すべてのリダイレクトはhttp://.

URL を手動で変更すると、経由ですべてにアクセスできますhttps://が、これは、次にリダイレクトが発行されるまでしか持続せず、その後に戻りますhttp://

これは私のローカル環境では発生しないので、cloudControl やピギーバック SSL と関係があるのではないかと考えています。

https://からに予期せずリダイレクトされるのを防ぐにはどうすればよいhttp://ですか?

4

1 に答える 1

4

FULL_BASE_URL を定義する

cloudController のロード バランサは、おそらく https リクエストをリッスンし、それらを http 経由でアプリケーション サーバーに転送します - おそらくX-Forwaded-Protoヘッダーを設定します。これは、外部リクエストのみが SSL 暗号化のオーバーヘッドを負担する典型的な設定です。

実際にはサーバーが受信する http 接続上にあるため、リダイレクトが発行されたときhttp://など、ルーターによって生成された絶対 URL はデフォルトで使用さhttps://れます。

これをオーバーライドするには、アプリの絶対ルートとして使用する URL を定義して、すべての絶対 URL に使用されるようにします。

つまり、アプリケーションのブートストラップに次を入れます。

define('FULL_BASE_URL', 'https://example.com');
于 2014-05-22T15:25:30.353 に答える