勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

コンテナ側の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 【コンテナ名】

 - Apache Nginx サーバー Podman

  関連記事

Podmanで導入したapache-phpに各種PHPモジュールを追加する方法
Podmanで導入したapache-phpに各種PHPモジュールを追加する方法

先日Podmanでapache-php8.4を導入したが、phpinfoで確認す ...

Podmanでデータベース用コンテナを作成しWebサーバ用コンテナと接続する方法
Podmanでデータベース用コンテナを作成しWebサーバ用コンテナと接続する方法

Podmanでデータベース用コンテナを作成し、Webサーバ用コンテナからPHPで ...

Podmanで導入したデータベース(MariaDB)用コンテナのチューニングに関する設定方法
Podmanで導入したデータベース(MariaDB)用コンテナのチューニングに関する設定方法

先日Podmanでデータベース(MariaDB)用コンテナを導入したが、当該コン ...

Podmanで作成したApache用コンテナにドメインを割り当て、ポート指定なしでアクセス可能にする方法
Podmanで作成したApache用コンテナにドメインを割り当て、ポート指定なしでアクセス可能にする方法

先日PodmanでWebサーバ用コンテナを作成したが、ブラウザからアクセスする際 ...

PodmanでPython用コンテナを作成しデータベース用コンテナに接続する方法
PodmanでPython用コンテナを作成しデータベース用コンテナに接続する方法

PodmanでPython用コンテナを作成しデータベース(MariaDB)用コン ...