EC-CUBE 2系でポート番号付で管理画面を動かす
원문출처 | 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/'); }
-
管理機能一覧
-
フロント機能一覧
-
EC-CUBE 2系でポート番号付で管理画面を動かす
-
EC-CUBE 2系で注文を受けた商品の規格を後で削除すると、管理画面で受注内容を編集できなくなる
-
EC-CUBE 2系でShift_JISに存在しない文字が含まれた受注データがあると、その受注内容が受注CSVからまるごと欠落する
-
EC-CUBE 2系で商品情報をCSVで更新するとき関連商品情報が削除される
-
EC-CUBE 2系で商品を沢山購入すると住所情報が欠落する
-
EC-CUBE 2系の「もっと見る」を簡潔に
-
EC-CUBEをインストールする
-
CSS object-fit 속성
-
Css 텍스트 외곽선 처리하기, Stroke
-
EC-CUBE 4를 설치했을 때 설정 한 데이터베이스 암호는 어디에 저장되는 것입니까?
-
EC-CUBE2.13カスタマイズ:新しいページを追加する
-
관리 화면의 사이드 메뉴에 항목 추가하는 방법
-
EC-CUBE에서 모든 페이지에서 로그인 체크하기
-
イベントセット販売プラグインマニュアル
-
EC-CUBE4 계에서 관리 화면에 새 메뉴 항목을 추가하는 방법
-
EC CUBEで商品ごとに支払い方法を簡単に分ける
-
2.13系 ソフトウェア要件
-
ECCUBE 2.13のインストール方法をスクリーンショット付きでわかりやすく徹底解説!
Facebook [ko]댓글