2009-06-12 17 views

答えて

5

mod_proxyを移動する方法です:

http://httpd.apache.org/docs/2.0/mod/mod_proxy.html 

用途:

<Location /resource/> 
    ProxyPass http://server2/resource/ 
    SetEnv force-proxy-request-1.0 1 
    SetEnv proxy-nokeepalive 1 
</Location> 
+2

に良くなっていることで合意しましたあなたはプロキシであり、したがって、あなたが他のサーバーとプロセスに行く間に、バックエンドをApacheで開いたままにします。これにはより多くのオープンな接続が必要で、httpヘッダーを使用してブラウザを適切なサーバーに送信するよりも時間がかかることがあります。 –

+0

大量の環境では、アーキテクチャレベルでこのような質問に答えましたが、私はApacheでこれをやりたくないということに同意します。 – stevedbrown

2

mod_rewriteはこれに対してかなり強力です。/resource /のリライトルールを設定し、302リダイレクトを使用してサーバー2にユーザーを送信します。

http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

http://www.modrewrite.com/

テストされていない例:

<location "/"> 
RewriteEngine On 
RewriteRule ^/resource/(.*)$ http://server2/resource/$1 [R] 
</location> 
0

私はこの質問はserverfault.comのためだと思います。ここでは詳しく説明しませんが、Apacheの設定でRewriteCond、RewriteRuleディレクティブを使用してこれを設定できます。

私はmod_proxy and mod_rewriteのルールを使用して同様の効果を達成しています。 PS:serverfault.comをチェックして、sysadminの方にお試しください。

+1

が、これはここでの唯一の欠点は、第2の環境ごとに高い要求であるServerFault.com –