Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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>