Ameba Ownd

アプリで簡単、無料ホームページ作成

SoulImpact株式会社公式ブログ

dockerでホスト上のサービスに対してリバースプロキシを構成

2023.04.21 14:27

dockerでホスト上のサービスに対してリバースプロキシを構成

サンプルコード

Docker内のサービスに対してリバプロを構成する例は多いと思いますが、リバプロを構成するnginxのコンテナの/etc/hostsにホストのLANアダプタのIPを付するとローカル上のサービスに対してもプロキすることが可能です。

構成

docker-compose.yml

nginx.conf

「location ^~ /data/」が肝です。

このURLパスに該当するパターン(例えば/data/test.html)は8080ポートをホストでリスニングしているサービスにディスパッチされます。

それ以外はホストで80ポートをリスニングしているサービスにディスパッチされます。

ホストとして送信先を決定する要素はdocker-compose.ymlのextra_hostsで設定したIPとなります。

(このIPを例えばDockerの仮想NWのゲートウェイIP(172.x.0.1)を指定してもローカルで立っているサービスにはプロキシできないので注意)