apacheでリバースプロキシを導入した.

リバースプロキシとは, 特定のサーバへの要求を必ず経由するように設定されたプロキシサーバのことである.

今回は, 1つのグローバルIPで複数のWebサーバを公開するために設定した.

リバースプロキシは外部からのパケットをLAN内部でアクセスされたドメインごとにアクセスさせるサーバを変える.

今回は, apacheのリバースプロキシ機能を用いることにした.

また, バーチャルホストを用いることでドメインごとにアクセスするサーバを変更する.

まずは, バーチャルホストの設定を行う.

/etc/httpd/conf/httpd.confを変更する.

991行目をコメントアウト

NameVirtualHost *:80

あとは, 公開するドメインごとに設定ファイルを作成する.

この設定ファイルでは, リバースプロキシを行わない.

<VirtualHost *:80>
    ServerName unix-like.dyndns-web.com
</VirtualHost>

次は, リバースプロキシの設定を行うドメインの設定

ここで, ProxyPass*の設定で最後に”/”をつけておかないと

そこからのリンクのパスがおかしくなり移動できないので注意

”/”がないと以下の例の様になる

例:

正しいURL          http://example/sample1
”/”なしの場合        http://examlesample1

設定内容

<VirtualHost *:80>
    ServerName example.com
    ProxyPass / http://192.168.x.x/
    ProxyPassReverse / http://192.168.x.x/
</VirtualHost>

これで, apacheを再起動をすれば設定は完了する.