ブラウザ上はHTTPSアクセスであるにも関わらず、$_SERVER[‘HTTPS’]が何も指定されていない状態のため、EC-CUBEはHTTPSと認識できず、無限ループ(ERR_TOO_MANY_REDIRECTS)等が発生します。
この簡単な対処方法をご紹介します。

ALB、ELB(AWSのロードバランサ)では、ブラウザからロードバランサがHTTPS通信を行なっている場合、$_SERVER[‘HTTPS’]の代わりに$_SERVER[“HTTP_X_FORWARDED_PROTO”]という変数がPHPアプリケーションに届きます。
EC-CUBEの場合、index.phpでこれを使って$_SERVER[‘HTTPS’]に標準の値を登録してやります。

if (@$_SERVER["HTTP_X_FORWARDED_PROTO"] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

あるいは、より上流で対処する方法としてApacheの設定ファイル、httpd.conf等で環境変数を置き換えてやるという方法もあります。
SetEnvIf X-Forwarded-Proto ^https$ HTTPS=on

EC-CUBEをAWSで冗長化構成にするときは必須のテクニックになりますね。

日本発!ECオープンプラットフォーム「EC-CUBE」 EC-CUBEゴールドパートナー EC-CUBEは株式会社イーシーキューブの商標です

EC-CUBEカスタマイズに関するお問い合わせはこちら


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ