[AWS] 「ALB」ALB経由でのIPアドレス制限
ALB経由でEC2にアクセスした場合、アクセス元がALBからのIPアドレスになってしまって、そのままではIPアドレス制限ができません。
そこで、X-Forwarded-Forヘッダを使用します。
1. 準備作業
「mod_remoteip」モジュールを有効にします。
※Amazon Linux 2においては、デフォルトで有効になっています。
2. 設定
「/etc/httpd/conf/httpd.conf」もしくはVirtualHostに以下の設定を追加します。
# 送信元IPアドレスとして、X-Forwarded-Forを利用する
RemoteIPHeader X-Forwarded-For
これで、mod_remoteipが提供するRemoteIPHeaderディレクティブによって、X-Forwarded-Forヘッダの内容を確認して、その値を送信元IPアドレスとしてApacheに認識させることができます。
3. 設定例
(1) .htaccessでの例
該当のディレクトリに配置します。
SetEnvIf X-Forwarded-For "^xxx\.xxx\.xxx\.xxx$|^xxx\.xxx\.xxx\.xxx$" AllowedIp
Require env AllowedIp
※複数のIPアドレスを指定する場合は「|」で区切ります。
(2) VirtualHostの例
特定のIPアドレスのみphpMyAdminを表示させます。
<VirtualHost *:80>
# 送信元IPアドレスとして、X-Forwarded-Forを利用する
RemoteIPHeader X-Forwarded-For
alias /pma "/usr/local/phpmyadmin"
<Directory "/usr/local/phpmyadmin">
Options FollowSymLinks
AllowOverride All
Require all denied
</Directory>
<Location /pma>
Require ip xx.xx.xx.xx
</Location>
</VirtualHost>
最終更新:2021年03月04日 11:25