5

weblogic アプリケーション サーバーで実行されている Web アプリケーション (JQuery および Spring) があります。アプリサーバーの前にApache httpサーバーがあります。すべての着信要求は、Web サーバーを経由してアプリ サーバーに到達します。

ここで、着信 http 要求ヘッダーの値を確認する必要があり、存在する場合は、要求をアプリ サーバーに送信する必要があります。そうでない場合は、リクエストをブロックし、静的なエラー ページをエンド ユーザーに表示します。

このロジックを apache http サーバーに実装できるかどうか知りたいです。ご意見をお聞かせください。

4

1 に答える 1

2

mod_rewrite でこれを行うことができます。正確なセットアップが何であるかは含まれていませんが、mod_proxy タイプの構成がある場合は、書き換えが通常のトラフィックの通過を妨げないようにする必要があります。一般的な意味で、Apache 構成では、次のようになります。

  • 書き換えを有効にする
  • 状態を確認する
  • 条件に基づいて書き換えルールを適用する

非常に簡単な例を挙げると、クエリ文字列でキーを探していて、存在しない場合はアクセス (403) を禁止する場合、次のようにします。

RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} !somekey
RewriteRule ^.*$ - [F,L]

これは必要に応じて複雑にすることができます。条件を連鎖させることができ (暗黙の AND または明示的または [OR] フラグを使用)、禁止されたメッセージではなく実際のページを提供できます。

いつものように、いじる前に構成をバックアップします。.htaccess を使用してこれをテストすることをお勧めします (ただし、パフォーマンス上の理由から、運用環境の負荷のために実際の構成に移動することをお勧めします)。

書き換えドキュメントも優れたリソースです。

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

それは本当に非常に優れたドキュメントです。いくつかのポインタについては、フラグ ([L] = 最後; [P] = プロキシされたリクエストとして扱う; [F] = 禁止など) を調べる必要があり、一般的に正規表現の構文に詳しい人が必要です。

于 2012-01-15T22:05:18.913 に答える