Elastic Load Balancing(ELB )を使用しているときにクライアントのIPアドレスを知りたい。ロードバランサ経由によるクライアントのパブリックIPアドレスのログを取るには、an Ubuntu 16.04 上で運営する Apache サーバーをどのような設定をすればよいですか?

次の手順で、Apache 2 ウェブサーバーを構成できます。

1. Apache2 をUbuntu 16.04 インスタンスにインストールします。

sudo apt-get install apache2 -y

2. Ubuntu インスタンスに mod_remoteip をインストールします。

sudo a2enmod remoteip

3. Apache2を再起動して、設定を有効にします。

sudo service apache2 restart

4. 次のように、/etc/apache2/apache2.conf にある Apache が設定を Ubuntu 用に編集します。

sudo vim /etc/apache2/apache2.conf

        この行を構成ファイルに追加します。

RemoteIPHeader X-Forwarded-For

        ログフォーマットで始まる一致するセクションを探します。以下の行を変更してください。

LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

        これには: (設定ファイルで%hを%aに置き換えます)

LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

5. 変更を適用するには、設定ファイルを保存し、Ubuntu インスタンスで Apache2 を再起動します。

sudo systemctl restart apache2.service

6. Ubuntu インスタンスでこのコマンドを使用してクライアント IP がログに記録されていることを確認し、別のインスタンスから要求を出します。

tail -f /var/log/apache2/access.log

        別のクライアントマシン / インスタンスからのリクエスト:

curl -vo /dev/null http://<elb_dns_name>

7. お客様のパブリック IP または Elastic IP が access.log ファイルに表示されていることを確認します。


このページは役に立ちましたか? はい | いいえ

AWS サポートナレッジセンターに戻る

サポートが必要ですか?AWS サポートセンターをご覧ください。

公開日: 2016 年 12 月 07 日

更新: 2018 年 4 月 25 日