Studio ilia

Wordpress、ゲームコンテンツ開発ブログ

CentOS8にて構築したApacheでバーチャルドメインとリバースプロキシを利用

バーチャルホストの設定

1つのWEBサーバーで複数のドメインを利用してWEBページを公開する場合には「NameVirtualHost 」ディレクティブを利用しドて振り分ける必要があります。
ドメインが複数なければこの設定は必要ありません。

 

 

 

 

リバースプロキシ

hoge1の特定ディレクトリ配下のアクセスを別のサーバーのアドレスに転送する場合に利用します。
「/home/hoge1/public_html/blog」」の「/blog/」配下にアクセスしたら別のhttpdサーバーで処理をさせる例で解説します。
尚、転送された先のサーバーのことをバックエンドサーバーと呼びます。

クライアント <===> httpd <===> Backendのhttpd

 

 

▼上記の場合は動作
/ドキュメントルート/blog/」にアクセスしたら「http://192.168.0.80/blog/」のWEBサーバーに転送されます。
その後クライアントとサーバーのやり取りは、リダイレクトと違い2台のWEBサーバーで処理されます。

 

▼設定内容の説明

ProxyRequests オープンに公開されたプロキシはセキュリティー的に危ないのでOFFにする。
SSLProxyEngine SSL接続でのプロキシを有効化。
Location ディレクトリ単位のコンテナの設定を定義。
ProxyPass バックエンドサーバーのアドレス。
ProxyPassReverse バックエンドでさらにリダイレクトが発生した際のURLの調整を行うアドレス。

 

例えばバックエンド側でURLを整形して「http://192.168.0.50/blog/file.html/」にリダイレクトさせる処理がクライアント側へ応答された場合、クライアントは直接そのアドレスにアクセスしますが、『192.168.0.50』ローカルアドレスのためクライアントPC側のローカルネットワークにアクセスしようとするため、WEBサーバーには接続されません。

このような状況を防ぐために「http://192.168.0.50/blog/」のリダイレクト要求があった際に、「http://hoge1.com/blog/」に調整され、クライアント側へは「http://hoge1.com/blog/file.html」へのリダイレクト要求とされるのです。

 

Home
Profile
Menu
Search