ELB経由だとREMOTE_ADDRがELBのVPC内ローカルIPになってしまうので、単純なallow fromでのアクセス許可が効かず、X-Forwarded-ForヘッダをSetEnvIfやRewriteCondとかでチェックする必要があって面倒です。
X-Forwarded-Forを信頼させる
httpd-2.4からはmod_remoteipってのが使えるようになっているので以下の設定を書くことでいい感じにしてくれます。ちゃんと、信頼できる接続元(VPC内のローカルIP)のヘッダだけを信頼するということが出来ていい感じです。
httpd.conf
# ELB経由でもallow fromで元IPをチェックできるようにする
RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 10.0.0.0/8
RemoteIPTrustedProxy 172.31.0.0/16
おまけ
AmazonLinuxで php-5.5 + httpd-2.4 を使えるようにする手順
AmazonLinuxの現在のデフォルトではphp-5.3とhttpd-2.2なので、僕はいつも最初に↓こんな感じにyumで両者を最新に上げてます。
sudo yum remove httpd-tools php[0-9]\* php-\*
sudo yum install php55 php55-cli php55-gd php55-mbstring php55-mcrypt php55-mysqlnd php55-pdo php55-pecl-apc php55-pecl-imagick php55-pecl-memcached php55-pgsql
これでPHPはphp55-*
系に、httpdはhttp24-*
系のパッケージに入れ替わります。あと大体良く使うphpモジュールも一緒に入れちゃいます。
ちなみにhttp24でmod_sslを使いたい場合はmod24_sslみたいにmod24_*
て名前のパッケージが用意されてます。