(queryparam servername) のテキスト マップを使用して、クエリ パラメータに基づいて別のバックエンド サーバーにリクエストを送信するように URL を書き換える必要があります。
prg: タイプと perl スクリプトを使用して、RewriteMap、RewriteRule を試しました。しかし、クエリ文字列はルックアップ スクリプトには表示されません。
例:マップファイル
QS1 サーバー1 QS2 サーバー 1 QS3 サーバー3 QS4 サーバー4 など.. (約 10K エントリ -= 約 20 のバックエンド サーバーへのマッピング)
入力 URL が http://myrouter.com:8080/a/b/c?query=QS2の場合
次に、書き換えて http://Server1:9988/a/b/c?query=QS2に送信する必要があり ます (クエリ文字列ではい)
http://myrouter.com:8080/a/b/c?query=QS4がhttp://Server4:9988/a/b/c?query=QS4に送信されました
私の現在の試験は役に立たないようです。
RewriteEngine on RewriteMap distributeRequests "prg:/export/requestdistributor.pl" RewriteRule ^(.*)$ ${distributeRequests:$1?%{QUERY_STRING}} [P]
URL のパラメータに基づいてプロキシを 検索しましたが、検索エントリの限定されたセットには適しています。私が探している 10 個のバックエンド サーバーにマッピングされる 10K のクエリ パラメータではありません。
ありがとう。