AWSのELBとDrupalを組み合わせて使う場合のIPアドレス対策

このエントリーをはてなブックマークに追加
投稿者:chikunai 投稿日時:2015-04-13(月) 01:03

お久しぶりです。ウォーミングアップも兼ねて、久々のDrupalネタです。

AWSのLoad Balancer(ロードバランサー、ELBとも略す)に、Drupal 7のWebサーバをひもづける上でのTIPS集になります。

普通にDrupalのWebサーバをAWSのLoad Balancerにつなげると、Drupalのログに出てくるIPアドレスがプライベートIPになってしまいます。ちなみに、そういう構成が前提です。しかも、Load BalancerからくるIPアドレスは固定ではなくいつも可変です。AWSの仕様のようです。

これでは、グローバルIPアドレスから攻撃や不正なアクセスを受けている場合、Drupalのログを見ても無意味です。このプライベートIPアドレスになっている箇所を、グローバルIPアドレスにする対処法です。

意外や意外、海外で探しても中々対処法が見つけにくかったのですが、settings.phpを以下にします。

  1. <?php
  2. $conf['reverse_proxy']=TRUE;
  3.  
  4. /**
  5.  * Specify every reverse proxy IP address in your environment.
  6.  * This setting is required if $conf['reverse_proxy'] is TRUE.
  7.  */
  8. $conf['reverse_proxy_addresses']=array($_SERVER['REMOTE_ADDR']);
  9.  
  10. /**
  11.  * Set this value if your proxy server sends the client IP in a header
  12.  * other than X-Forwarded-For.
  13.  */
  14. $conf['reverse_proxy_header']='HTTP_X_FORWARDED_FOR';
  15.  
  16. ?>

reverse_proxy_addressesにREMOTE_ADDRをあてるのがミソ。これで試してみてください。




コメント(0)

新しいコメントの投稿

このフィールドの内容は非公開にされ、公表されることはありません。
  • 使用できるHTMLタグ: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <table> <tr> <th> <td>
  • 行と段落は自動的に折り返されます。
  • You can use BBCode tags in the text. URLs will automatically be converted to links.
  • 次のタグを使用してソースコード構文をハイライトすることができます。: <code>, <blockcode> The supported tag styles are: <foo>, [foo].
  • You may insert videos with [video:URL]
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。

書式オプションに関するより詳しい情報...

CAPTCHA
この問題はユーザが人間であるかどうかをテストし、スパムによる自動投稿を防ぐためのものです。
Image CAPTCHA
Enter the characters shown in the image.
Drupal theme by Kiwi Themes.