web-dev-qa-db-ja.com

別のポートのローカルサーバーへのHtaccessトンネル?

2つのWebサーバーを同じボックスで異なるポートで実行し、htaccessを使用してrewritecondに基づいて1つのサーバーから別のサーバーにトラフィックをトンネリングすることは可能ですか?基本的に、特定の条件が満たされたときに、他のWebサーバーで要求を処理し、移動した応答を返したくありません。

2
Will

はい、可能です。最初のサーバーがApacheの場合、これを行うためにmod_proxyを使用してリバースプロキシとして使用できます。

ProxyPass /abc http://second-web-server.yourdomain.com/def
ProxyPassReverse /abc http://second-web-server.yourdomain.com/def

http://httpd.Apache.org/docs/2.0/mod/mod_proxy.html#proxypass

プロキシ要件がより複雑な場合は、「P」フラグを使用して、書き換えルールの置換部分をmod_proxyに送信するようにmod_rewriteに指示することもできます。

RewriteRule ^/abc$ http://second-web-server.yourdomain.com/def [P]

Litespeed書き換えエンジンはApacheと同じであるようです(私はlitespeedに精通していません)。

http://www.litespeedtech.com/docs/webserver/config/rewrite/

したがって、Cookieがないことをテストするには、次のような書き換えルールを使用します。

RewriteCond %{HTTP_COOKIE}       !^Your_Cookie_Name$
RewriteRule ^/(.*)               http://second-web-server.yourdomain.com/$1 [p]

ここにlitespeedrewrite + proxyの例があります:

http://www.litespeedtech.com/support/forum/showthread.php?t=2879

2
Hari