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

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)を指定してもローカルで立っているサービスにはプロキシできないので注意)


SoulImpact株式会社公式ブログ

ソフトウェアの開発/システム技術者の派遣/ITコンサルタント

0コメント

  • 1000 / 1000