EC-CUBE 2系

EC-CUBE 2系でポート番号付で管理画面を動かす

by TheVOS posted Jan 02, 2020
?

Shortcut

Prev前へ 書き込み

Next次へ 書き込み

Larger Font Smaller Font 上へ 下へ Go comment 印刷
?

Shortcut

Prev前へ 書き込み

Next次へ 書き込み

Larger Font Smaller Font 上へ 下へ Go comment 印刷
Extra Form
原文出所 http://www.neobit.jp/archives/612

Apacheの処理分散させるために、ロードバランサーを介してラウンドロビンを掛けた複数台で同じEC-CUBEを動かす必要が出てきました。
Apacheを動作させるフロントエンドをコピーした複数台でPHP処理を分担、MySQLはローカル接続されているバックエンドの専用サーバーで運用という形です。

EC-CUBEはそもそもPHPセッションをDB保存しているので、DBをバックエンドのサーバーで共通化しておけば複数台でのPHPセッションの共有化を配慮する必要はなく、複数台運用への切り替えは簡単です。

ただし、管理画面からアップロードした画像等はApacheを動かしているサーバーに物理的に保存されるため、ラウンドロビンが掛かった状態ではどのサーバーにファイル保存されるか分からなくバラバラになってしまうため、どれか1台固定のサーバーを正としてそこへ保存し、rsync等で各サーバーへコピーしなくてはなりません。

サブドメインではっきり分けれれば良いのですが、ドメイン追加をできない場合は1443などの独自のポート番号でポートフォワードで振り分けて管理画面を動かすサーバーを固定したいところ。

ただし、普通にポート番号付きでアクセスしてしまうと、管理画面でログインした直後にリダイレクトエラーが出ます。
これは/data/config/config.php で設定している HTTP_URL や HTTPS_URL と異なるURLへジャンプすることを防ぐセキュリティ対策の影響です。
では、そもそもHTTP_URL に:1443付きで定義したらどうかとなりますが、そうすると今後はポート番号無しでアクセスしているカート画面などでリダイレクトエラーが出ます。訪問者画面も管理画面も同じEC-CUBEだと設定も共通なので。

そこで、ポート番号付きでアクセスしたときだけこのURLを書き換えてしまうと良いです。
具体的には /data/config/config.php をこんな風に書きます。常時SSLのご時勢ですからHTTP_URLは振り分けなくても良いかな?

define('HTTP_URL', 'http://www.exsample.co.jp/');
if ($_SERVER['SERVER_PORT'] == '1443') {
  define('HTTPS_URL', 'https://www.exsample.co.jp:1443/');
} else {
  define('HTTPS_URL', 'https://www.exsample.co.jp/');
}

Facebook [ja]コメント 


List of Articles
カテゴリー 番号 タイトル 日付 閲覧数
EC-CUBE 4系 39 管理機能一覧 2020.11.12 33
EC-CUBE 4系 38 フロント機能一覧 2020.11.12 37
クラス 37 클래스의 구조 2019.10.03 39
EC-CUBE 2.x 36 商品名などで長くなったテキストを省略する方法 file 2019.04.10 49
ヒント&ノウハウ共有 35 페이스북위젯 삽입하기 file 2018.12.15 53
CSS 34 CSS オブジェクトフィットプロパティ file 2019.12.04 55
EC-CUBE 2.x 33 サイトデザインをPCで統一させる方法 file 2019.04.10 56
クラス 32 클래스와 객체의 기초 file 2019.10.03 60
EC-CUBE 2系 31 2.13系 ソフトウェア要件 2019.10.11 63
EC-CUBE運用マニュアル 30 EC-CUBE2.12 運用マニュアル file 2019.09.29 64
EC-CUBE 2.x 29 商品ステータスを変更・追加する方法 file 2019.04.10 65
EC-CUBE 2系 » EC-CUBE 2系でポート番号付で管理画面を動かす 2020.01.02 68
EC-CUBE 2系 27 EC-CUBE 2系で商品を沢山購入すると住所情報が欠落する 2020.01.02 86
メールサービス 26 메일 사용자 설명서 2019.03.29 92
EC-CUBE 2系 25 EC-CUBE 2系でShift_JISに存在しない文字が含まれた受注データがあると、その受注内容が受注CSVからまるごと欠落する 2020.01.02 93
EC-CUBE 2系 24 単体テストガイドライン 2019.09.28 95
クラス 23 클래스의 사용 2019.10.03 97
EC-CUBE 3.x 22 titleの並びや区切り記号を変更する方法 file 2019.04.10 101
EC-CUBE 2系 21 EC-CUBEをインストールする file 2019.12.10 101
EC-CUBE 2系 20 EC-CUBE 2系で商品情報をCSVで更新するとき関連商品情報が削除される 2020.01.02 107
Board Pagination Prev 1 2 Next
/ 2