コンテナ側のApacheのアクセスログにリバースプロキシのIPではなく本来のアクセスIPを出力する方法
ホスト側Nginxからリバースプロキシ経由でApacheコンテナに接続する環境に対して、ブラウザからアクセスするとリバースプロキシのIPアドレスがアクセスログに出力されるが、これだと不正アクセスがあった場合等にIPアドレスが特定できない。そのため本来のアクセスIPアドレスをログ上に出力させる方法をメモ。
対応方法
docker-compose.yml
Apacheのコンテナ設定に以下を追加する。
# remoteipモジュールを有効化 command: sh -c "a2enmod remoteip && apache2-foreground"
vhost.conf
<VirtualHost *:80>~</VirtualHost>内に以下を追加する。
RemoteIPHeader X-Forwarded-For RemoteIPInternalProxy 127.0.0.1 10.0.2.2 172.17.0.1 10.89.0.0/16
確認方法
コンテナを再作成後、以下で確認できる。
# ログの確認 podman logs 【コンテナ名】 # リアルタイムで確認したい場合 podman logs -f 【コンテナ名】
関連記事
-
-
Podmanで導入したapache-phpに各種PHPモジュールを追加する方法
先日Podmanでapache-php8.4を導入したが、phpinfoで確認す ...
-
-
Podmanでデータベース用コンテナを作成しWebサーバ用コンテナと接続する方法
Podmanでデータベース用コンテナを作成し、Webサーバ用コンテナからPHPで ...
-
-
Podmanで導入したデータベース(MariaDB)用コンテナのチューニングに関する設定方法
先日Podmanでデータベース(MariaDB)用コンテナを導入したが、当該コン ...
-
-
Podmanで作成したApache用コンテナにドメインを割り当て、ポート指定なしでアクセス可能にする方法
先日PodmanでWebサーバ用コンテナを作成したが、ブラウザからアクセスする際 ...
-
-
PodmanでPython用コンテナを作成しデータベース用コンテナに接続する方法
PodmanでPython用コンテナを作成しデータベース(MariaDB)用コン ...