ディレクトリを別のWebサーバーのパスにマップするようにApache Webサーバーを構成できますか?たとえば、http://server1/resource/返信http://server2/resource/のリクエストを行うことはできますか?これが可能であれば、これを設定するにはどうしたらいいですか?仮想ディレクトリをApacheの別のWebサーバーにマップする
4
A
答えて
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
mod_rewriteはこれに対してかなり強力です。/resource /のリライトルールを設定し、302リダイレクトを使用してサーバー2にユーザーを送信します。
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html
テストされていない例:
<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 –
に良くなっていることで合意しましたあなたはプロキシであり、したがって、あなたが他のサーバーとプロセスに行く間に、バックエンドをApacheで開いたままにします。これにはより多くのオープンな接続が必要で、httpヘッダーを使用してブラウザを適切なサーバーに送信するよりも時間がかかることがあります。 –
大量の環境では、アーキテクチャレベルでこのような質問に答えましたが、私はApacheでこれをやりたくないということに同意します。 – stevedbrown