ApacheにReverse Proxyを設定して社内の別Serverを外部に公開

前に調べた特定のDomainは社内の別Serverに転送するやり方。外部からは転送されていることは分からない。これをReverse Proxyというらしい。

やりたい事は社内に複数のVirtual Machineが違う環境で存在していた場合に

http://mydomain.com/app1 -> Virtual Machine1に転送
http://mydomain.com/app2 -> Virtual Machine2に転送

という感じに振り分けたい。

今回は既に80 Portを受け取るServerがいるので、そのApacheのConfig Fileに追記した。

<VirtualHost *:80>
  ServerName stage.my.domain
  ProxyRequests Off

  ProxyPass /app1 http://192.168.0.81/app1
  ProxyPassReverse /app1 http://192.168.0.81/app1

  ProxyPass /app2 http://192.168.0.82/app2
  ProxyPassReverse /app2 http://192.168.0.82/app2
</VirtualHost>

特定の人にしか見せたくない場合は、Basic認証をかける。前の記事を参考に。

mod_proxy - Apache HTTP サーバ

 

次回引越しのときには外部からのAccessを一元管理するServerを一台用意して、そこにDelegatePoundをInstallして振り分ける予定。

Poundで作るロードバランサとSSLラッパ(1/4) - @IT

 

< Related Posts >

1つのGlobal IPでDomainごとに別のWeb ServerにRoutingしたい(調査編)