Apacheでサブドメインまたは特定のディレクトリへのリクエストを他のサーバに中継します。
今回は独自に動作しているMinecraftのBukkitサーバ用プラグインであるDynmapをサブドメインに設定してみます。
Apacheでリバースプロキシを利用するためにはmod_proxyが組み込まれたApacheが必要ですが、通常のディストリビューションではデフォルトで有効になっていることが多いようです。
リバースプロキシに使用するディレクティブはProxyPass, ProxyPassReverse, ProxyPassReverseCookieDomain, ProxyPassReverseCookiePassの4つとなります。今回はProxyPassとProxyPassReverseのみ使用しました。
例としてmap.eximradar.jpにdynmapのポート8123を割り当てます。
設定の記述先はhttpd.confです。
1 |
vi /etc/httpd/conf/httpd.conf |
http.confの末尾にVirtualHostを設定します。
1 2 3 4 5 |
<VirtualHost *:80> ServerName map.eximradar.jp ProxyPass / http://localhost:8123 ProxyPassReverse / http://localhost:8123 </VirtualHost> |
なお、ディレクトリ以下に割り当てる場合は
1 |
ProxyPassReverse /map http://localhost:8123 |
のような記述になります。
Apacheを再起動して設定完了です。
1 |
service httpd restart |