リバースプロキシ/ロードバランサ配下のApache HTTP Server(以降、単にhttpdと記す)ではmod_rpafというモジュールを使用すると、アクセス元のIPアドレスを正しく取得して、そのIPアドレスでログに出力したり、アクセス制御を行ったりすることができるようになります。
今回の記事の前半ではこのmod_rpafについてインストール方法や設定方法について説明します。
後半ではmod_rpafを使ってもアクセス制御ができない問題が発生して、それを解決した経緯などを紹介します。具体的にはロードバランサとしてAmazon Elastic Load Balancingを、プロキシサーバとしてnginxを、バックエンドサーバとしてAmazon Linux 2011.09のhttpdを使ったときにアクセス元IPアドレスによるアクセス制御がうまくできない問題が発生しました。このあたりにご興味のある方は是非ご覧ください。少しだけソースコードを読めるITインフラエンジニアがトラブルシューティングをした簡単な事例としてみていただければと思います。