なので、AWSでELBに証明書をインストールして以下のような構成にします。
リクエスト(HTTPS:443)
↓
ELB(HTTPS:443→HTTP:80)
↓
Webサーバ(HTTP:80)
例えば送信メールにURLをつけるときに「http://ホスト名/~」となってしまいます。
他にもページ遷移がちゃんとできなくなってしまうような現象もあったような気がします。
確かに、Webサーバー内に入ってくるときは、HTTP:80なので間違いではないのかもしれません。
じゃあ、どうするか。
app/Config/bootstrap.phpに以下のロジックを書いておきます。
if(isset($_SERVER['HTTP_X_FORWARDED_PORT']) && 443 == $_SERVER['HTTP_X_FORWARDED_PORT']) { Router::fullBaseUrl('https://'.$_SERVER['HTTP_HOST']); }するとちゃんと、Router::fullBaseUrl()で「https://ホスト名」を返してくれます。
0 件のコメント:
コメントを投稿