Page History
Apache サーバーは、リバース・プロキシー・サーバーとして機能するように構成できます。
リバース・プロキシー・サーバーは、クライアントに対して通常のWebサーバーと同様に表示されます。
クライアント上で特別な構成は必要ありません。
クライアントは、リバース・プロキシーのネームスペースで内容に関する通常の要求を行います。
リバース・プロキシーはこれらの要求の送信先を決定し、リバース・プロキシー自体が送信元であるかのように内容を返します。
リバース・プロキシーは、通常、インターネット・ユーザーがファイアウォールの後ろにあるサーバーにアクセスする場合に使用されます。
また、複数のバックエンド・サーバー間で負荷を分散する場合や、比較的速度が遅いバックエンド・サーバー用にキャッシュを提供する場合にも使用できます。
さらに、複数のサーバーを同じURLスペースに入れるだけの場合も使用できます。 リバース・プロキシー構成にさらに柔軟性を持たせる必要がある場合は、[P]フラグを使用するRewriteRuleディレクティブを参照してください。
詳細は、Apache HTTP サーバー・バーション 2.4 に関する次の情報(Apache モジュール mod_proxy)を参照してください。
以下は IBM Apache サーバーの構成例です。
| Code Block |
|---|
# Apache 構成 - リバース・プロキシー
#
LoadModule proxy_module |
...
| Wiki Markup |
|---|
Apache サーバーは、リバース・プロキシー・サーバーとして機能するように構成できます。
リバース・プロキシー・サーバーは、クライアントに対して通常のWebサーバーと同様に表示されます。
クライアント上で特別な構成は必要ありません。
クライアントは、リバース・プロキシーのネームスペースで内容に関する通常の要求を行います。
リバース・プロキシーはこれらの要求の送信先を決定し、リバース・プロキシー自体が送信元であるかのように内容を返します。
リバース・プロキシーは、通常、インターネット・ユーザーがファイアウォールの後ろにあるサーバーにアクセスする場合に使用されます。
また、複数のバックエンド・サーバー間で負荷を分散する場合や、比較的速度が遅いバックエンド・サーバー用にキャッシュを提供する場合にも使用できます。
さらに、複数のサーバーを同じURLスペースに入れるだけの場合も使用できます。
リバース・プロキシー構成にさらに柔軟性を持たせる必要がある場合は、\[P\]フラグを使用するRewriteRuleディレクティブを参照してください。
詳細は、Apache HTTP サーバー・バーション 2.4 に関する次の情報を参照してください。&<a href="http://httpd.apache.org/docs/2.4/mod/mod_proxy.html" target="_blank"&>Apache モジュール mod_proxy&</a&>
以下は IBM Apache サーバーの構成例です。 |
...
/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> |