Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
77 lines (51 sloc) 3.65 KB
title keywords tags sidebar permalink summary
プロキシサーバの設定
howto proxy
quickstart
getting_started
home_sidebar
quickstart_proxy
プロキシサーバの設定について解説します。

リバースプロキシ、ロードバランサーを利用してサイトを構成する場合の設定方法について解説します。

この設定を行うことで、EC-CUBEへのリクエストをリバースプロキシ・ロードバランサーからのリクエストとして扱うようになります。

EC-CUBEのセキュリティオプションで「サイトへのアクセスを、SSL(https)経由に制限します」を有効してリダイレクトループが発生する場合は、この設定を行うことで回避できるようになります。

サイト構成の例

対象

EC-CUBE 3.0.14 以降

インストール時の設定方法

インストールの「サイトの設定」ページ
オプションを表示 > ロードバランサー、プロキシサーバの設定 で、Proxyサーバーの設定ができます。

インストーラのオプション

サイトが信頼されたロードバランサー、プロキシサーバからのみアクセスされる

  • このオプションをONにした場合、全てのリクエストを信頼されるプロキシサーバからのリクエストとして扱うようになります。
  • 信頼されるプロキシサーバ以外からのトラフィックを防いだサーバー環境でのみ、このオプションを利用してください。

ロードバランサー、プロキシサーバのIP

  • 個別にプロキシサーバを指定する場合は、ここのIPアドレスを入力してください。
  • サブネットマスクを利用したCIDR表記も可能です。

config.yml

インストール後は、config.ymlを編集することで設定を変更できます。

[app/config/eccube/config.yml]

trusted_proxies_connection_only: true
trusted_proxies:
    - 127.0.0.1/8
    - '::1'

trusted_proxies_connection_only

  • 「サイトが信頼されたロードバランサー、プロキシサーバからのみアクセスされる」オプション。

trusted_proxies

  • 「ロードバランサー、プロキシサーバのIP」オプション。
  • EC-CUBE自身からのサブリクエストを処理する必要があるため、ローカルループバックアドレスは削除しないでください。

制限事項

EC-CUBEがプロキシサーバからのリクエストを適切に処理するためには、プロキシサーバがリクエストにX-Forwarded-*ヘッダーを付与している必要があります。

参考情報

Symfony - How to Configure Symfony to Work behind a Load Balancer or a Reverse Proxy
http://symfony.com/doc/2.7/request/load_balancer_reverse_proxy.html

補足:さくらのレンタルサーバでの設定について

さくらのレンタルサーバーでSNI SSLを利用した場合、「https://」についてはプロキシとして動作しますが、制限事項にあるX-Forwarded-*ヘッダーが付与されないため上記設定をしてもリダイレクトループが発生してしまいす。

html/.htaccess にある下記のコードを有効化して対処してください。

# さくらのレンタルサーバでサイトへのアクセスをSSL経由に制限する場合の対応
RewriteCond %{HTTP:x-sakura-forwarded-for} !^$
RewriteRule ^(.*) - [E=HTTPS:on]