web-dev-qa-db-ja.com

Apachemod_proxyとmod_rewrite

Mod_proxyとmod_rewriteの使用の違いは何ですか?

同じホスト上でポート8080で実行されるTomcatを介して特定のURLパターンを送信する必要があります。これはmod_proxy用のものであることはわかっていますが、なぜmod_rewriteだけを使用できないのか、またはその違いは何か疑問に思っています。ですか?

おそらくリバースプロキシを使用する必要があり、パイプライン内で処理される場合もありますか?

ありがとう。

6

mod_rewrite Pフラグを使用すると、mod_proxyを介してリクエストが送信されます。 mod_rewriteを使用する利点は、rewriteでURLを書き換えるのと同じように、マッピング要求をより細かく制御できることです。しかし、プロキシはまったく同じです。欠点は、mod_rewrite構文がより複雑になることです。したがって、もっと複雑なものが必要でない限り、mod_proxyスタイルの構成ディレクティブを使用することをお勧めします。他の人はおそらくmod_rewriteスタイルをお勧めします。そうすれば1つのスタイルを学ぶだけでよいからです。

5
ptman

mod_rewriteは非常に一般的で非常に強力です。プロキシだけでなく、エイリアシング、リダイレクト、およびURLから他のURLまたはファイル名へのほぼすべての種類のカスタムマッピングも処理できます。 (まあ、あなたが十分に一生懸命見ていたなら、あなたはmod_rewriteできない何かを見つけることができると思います)しかし、それを使わないいくつかの潜在的な理由があります:

  • mod_rewriteの複雑さに対処したくない場合があります。適切に構成するのは難しいことで有名です。構成は、実際にはそれ自体がプログラミング言語です。
  • Apacheは、これらの複雑な書き換えルールをすべて処理するのに時間がかかります。サーバーがビジー状態の場合は、処理したくないものになる可能性があります。 mod_proxyを直接使用すると、サーバーの実行速度を上げるのに役立つ、より合理化されたコードを呼び出すことができます。 (正直なところ、これがどれほど大きな効果であるかはわかりませんが、それほど大きな効果はないと思います)
2
David Z