Apache サーバーは、リバース・プロキシー・サーバーとして機能するように構成できます。
リバース・プロキシー・サーバーは、クライアントに対して通常のWebサーバーと同様に表示されます。
クライアント上で特別な構成は必要ありません。
クライアントは、リバース・プロキシーのネームスペースで内容に関する通常の要求を行います。
リバース・プロキシーはこれらの要求の送信先を決定し、リバース・プロキシー自体が送信元であるかのように内容を返します。
リバース・プロキシーは、通常、インターネット・ユーザーがファイアウォールの後ろにあるサーバーにアクセスする場合に使用されます。
また、複数のバックエンド・サーバー間で負荷を分散する場合や、比較的速度が遅いバックエンド・サーバー用にキャッシュを提供する場合にも使用できます。
さらに、複数のサーバーを同じURLスペースに入れるだけの場合も使用できます。 リバース・プロキシー構成にさらに柔軟性を持たせる必要がある場合は、[P]フラグを使用するRewriteRuleディレクティブを参照してください。
詳細は、Apache HTTP サーバー・バーション 2.4 に関する次の情報を参照してください。Apache モジュール mod_proxy
以下は IBM Apache サーバーの構成例です。
# Apache 構成 - リバース・プロキシー
#
LoadModule proxy_module /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM
LoadModule proxy_http_module /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM
# LoadModule proxy_ftp_module /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM
# LoadModule proxy_connect_module /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM
#
Options None
Listen 10.2.0.170:2334
ServerRoot /www/jsmproxy
DocumentRoot /www/jsmproxy/htdocs
# DefaultFsCCSID 37
# DefaultNetCCSID 819
# ServerUserID USERPROFILE
#
LogLevel Warn
LogCycle Daily
ErrorLog logs/error_log
CustomLog logs/access_log combined
LogFormat "%{User-agent}i" agent
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{Cookie}n \"%r\" %t" cookie
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
#
# 名前ベースの仮想ホスティングを使用
NameVirtualHost 10.2.0.170
#
<VirtualHost 10.2.0.170>
# The first virtual host directive will become the default host
Options None
ServerName SERVER1
TimeOut 3000
ProxyReverse On
ProxyRequests Off
ProxyTimeOut 3000
<Proxy *>
Order Allow,Deny
Allow from all
</Proxy>
#
# すべての要求を渡す
# ProxyPass / http://server1:1099/
# ProxyPassReverse / http:// server1:1099/
#
# CGI 要求のみを渡す
ProxyPass /cgi-bin/ http://server1:1099/cgi-bin/
ProxyPassReverse /cgi-bin/ http://server1:1099/cgi-bin/
</VirtualHost>
#
<Directory />
Options None
Order Allow,Deny
Deny from all
AllowOverride None
</Directory>
#
<Directory /www/jsmproxy/htdocs>
Options None
Order Allow,Deny
# Deny from all
Allow from all
AllowOverride None
</Directory> |