リバースプロキシ下のApache 2.4でリモートIPを取得する方法

サーバーOSをUbuntu Server 18.04 LTSに移行するに伴い、Ubuntu Server 14.04時代に利用していたmod_rpafが非対応(製作者からの配布も既に終了)となったことで、リバースプロキシからリクエストを受け取ったバックエンドサーバーがアクセス元のリモートIPをそのままでは取得できなくなってしまった。

調べてみると、従来は外部モジュールの適用が不可欠だったリモートIPの取得が、Ubuntu 18.04(Apache 2.4.29)ではApacheがネイティブで対応できるようになったらしい。

具体的にはmod_remoteipというモジュールを使用するのだが、備忘録として、その手順を記しておく。

編集するファイルは、/etc/apache2/apache2.conf

●手順1
任意の場所に以下を追記。

RemoteIPHeader x-forwarded-for
RemoteIPProxiesHeader apache24-set-Ip
RemoteIPTrustedProxy リバースプロキシのアドレス/24

●手順2
210行目付近にあるLogFormatのパラメータの中の”%h”をすべて”%a”に変更する。

これで外部からのアクセスログを正確に取得できるようになった。




コメントを残す

メールアドレスが公開されることはありません。