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
カテゴリー 番号 タイトル 日付 閲覧数
マニュアル 19 THEVOS Youtube BOARD SKIN 사용 설명 2018.11.11 130
CSS 18 Css 텍스트 외곽선 처리하기, Stroke 2019.11.28 131
EC-CUBE 2.x 17 EC-CUBE:SC_FormParamクラスによるパラメーターチェック方法 2019.10.03 139
EC-CUBE 2系 16 EC-CUBE 2系で注文を受けた商品の規格を後で削除すると、管理画面で受注内容を編集できなくなる 2020.01.02 153
EC-CUBE 2系 15 ECCUBE 2.13のインストール方法をスクリーンショット付きでわかりやすく徹底解説! file 2019.10.10 153
EC-CUBE 2系 14 イベントセット販売プラグインマニュアル file 2019.11.07 156
EC-CUBE 2系 13 EC-CUBE標準規約 2019.09.28 165
EC-CUBE 2系 12 リファクタリングガイドライン 2019.09.28 181
EC-CUBE 3系 11 관리 화면의 사이드 메뉴에 항목 추가하는 방법 file 2019.11.11 186
EC-CUBE 3.x 10 デフォルトのtitleを任意のものに変更する方法 file 2019.04.10 242
EC-CUBE 2.x 9 商品数や階層に関係なく全カテゴリーを表示させる方法 file 2019.04.10 271
EC-CUBE 4.x 8 EC-CUBE 4를 설치했을 때 설정 한 데이터베이스 암호는 어디에 저장되는 것입니까? 2019.11.14 402
EC-CUBE 2.x 7 EC-CUBE에서 모든 페이지에서 로그인 체크하기 2019.11.11 470
ヒント&ノウハウ共有 6 구글 캘린더 합치기 1 file 2018.12.12 509
EC-CUBE 4系 5 EC-CUBE4系で管理画面に新規メニュー項目を追加する方法 file 2019.10.28 517
EC-CUBE 2系 4 EC-CUBE 2系の「もっと見る」を簡潔に 2020.01.02 639
EC-CUBE 2系 3 EC-CUBE2.13カスタマイズ:新しいページを追加する file 2019.11.11 663
EC-CUBE 2.x 2 EC CUBEで商品ごとに支払い方法を簡単に分ける file 2019.10.28 684
EC-CUBE 3.x 1 新規作成したページURLから「user_data」を消す方法とURLを出力するテンプレートタグ file 2019.04.10 1217
Board Pagination Prev 1 2 Next
/ 2