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