EC-CUBE 2を触ることがあって、カード決済テストするにはhttpsの環境が必要..ということで開発環境にもsslを導入しました
Nginx – Apache – EC-CUBE 2
と表にNginxを立ててたので、そこにsslを導入
config.phpのHTTP_URLをhttpsにします
$ vim config/config.php
define('HTTPS_URL', 'https://sample.co.jp');
これで、https化できたのですが、管理者画面でエラーになります
コードを読み進めると、httpでアクセスしてるようで..
リバースプロキシNginxのconfに
proxy_set_header X-Forwarded-Proto $scheme;
を設定しておいて、EC-CUBE2でもhttpsで動いてほしかったのですが、対応してない様子
data/require_base.php で無理やり対応しました
$ vim data/require_base.php
33行目あたりに
if ( ! empty( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' ) {
$_SERVER['HTTPS']='on';
}
これで、動作するようになりました