質問 > 管理機能 > 管理画面のSSL設定について |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト |
投稿日時: 2019/6/19 12:30
対応状況: 解決済
|
管理画面のSSL設定について ▼テンプレート
[EC-CUBE] EC-CUBE3 [レンタルサーバ] AWS [OS] Amazon Linux 2 [PHP] 7 [データベース] MySQL [WEBサーバ] apache 2.4 AWSにてSSL&固定IPが必要になり、ALBの上にGlobal Acceleratorをつけたのですが、問題はGlobal AcceleratorだとユーザーIPが取得できず管理画面へのアクセスを制限することができません。そこでインスタンスに割り振られている、Elastic IPで直接アクセスすれば、そこで管理画面にはIP制限できるかと考えています。ただ、サイト全体にSSLが適用されてしまうため、アクセスできない状態です。 管理画面だけSSLを使用しない方法ってあるのでしょうか? また、特定のIPでアクセスした場合はSSLを適用しない方法はあるのでしょうか? 何卒よろしくお願い致します。 |
|
468 |
投稿日時: 2019/6/19 16:02
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 管理画面のSSL設定について 試していないので正確な情報でなく申し訳ないのですが、
ELBを経由した通信は$_SERVER['HTTP_X_FORWARDED_FOR']に大元のアクセス元IPアドレスが格納されてWEBサーバに到達するのではないかと思います。 /src/Eccube/Application.phpの中に以下の記述があり、 アクセスしてきたIPアドレスを判定していると思うのですが、 そこで$app['request']->getClientIp()を利用せずに $_SERVER['HTTP_X_FORWARDED_FOR']を利用するようにすれば対応できるかもしれません。
もしかしたら、/html/index.phpの最初のほうで
のように$_SERVER['REMOTE_ADDR']を上書きしてもいけるかもしれません。
|
ゲスト |
投稿日時: 2019/6/19 17:21
対応状況: −−−
|
Re: 管理画面のSSL設定について ご返信ありがとうございます。
ELBではユーザーのIPは取得できるのですが、Global Acceleratorを割り当てると、IPがAWS内の独自に発行したIPに置き換わってしまうようです。なので、echo $_SERVER['HTTP_X_FORWARDED_FOR']で表示しても、通常のIPではなっかたです。。 なので、やはり別ルート(サーバーのIPを叩いて)からサーバーに接続する必要がありそうです。 サーバーのIPから入れば、ロードバランサーを返さずに入れるので。 別ルートからサーバーに接続した時に、強制SSLが解除できれば、問題は解決しそうなのですが。。。 config.ymlの「force_ssl」の値を常に拾っているものなのか、どこか1箇所指定すれば、強制SSLを解除できるのかが、わからないんです。 |
|
ゲスト |
投稿日時: 2019/6/19 18:47
対応状況: 解決済
|
Re: 管理画面のSSL設定について お世話になります。やはりGlobal Acceleratorでは元IPがわからないということもあり、別の手段を探していたところNLBでIPを付与することがわかり、こちらにロードバランサーを変更しました。
ただ、強制SSLにしているとリダイレクトループになり、
をindex.phpにダイレクトに書き込むという荒技で解決しました。 しばらく様子をみてみますが、一応解決ということにしておきます。 ありがとうございました。 |
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |