Apache で粘着性を定義しようとしています。proxy.conf の定義は次のとおりです。
<Proxy balancer://fs1>
BalancerMember https://localhost:5006/doc route=node1
BalancerMember https://localhost:5008/doc route=node2
ProxySet stickysession=JSESSIONID|jsessionid
</Proxy>
ProxyPass /doc balancer://fs1
また:
ProxyPass "/doc " "balancer://fs1" stickysession=JSESSIONID|jsessionid scolonpathdelim=On
<Proxy balancer://fs1>
BalancerMember https://localhost:5006/doc route=node1
BalancerMember https://localhost:5008/doc route=node2
</Proxy>
粘着性を実現するために、url クエリ パラメータを使用しようとしています (Cookie をオーバーライドすることはお勧めできないことを理解しているため)。Apacheのドキュメントに書かれているように:
スティッキーを実装する 2 つ目の方法は、URL エンコーディングです。Web サーバーは、要求の URL でクエリ パラメーターを検索します。パラメータの名前は、stickysession を使用して再度指定されます。パラメーターの値は、その値と等しいルートを持つメンバー ワーカーを検索するために使用されます。応答に含まれるすべての URL リンクを抽出して操作することは容易ではないため、通常、各リンクにパラメーターを追加する作業は、コンテンツを生成するバックエンドによって行われます。場合によっては、mod_substitute または mod_sed を使用して、Web サーバー経由でこれを実行できる場合があります。ただし、これはパフォーマンスに悪影響を及ぼす可能性があります。
郵便配達員で次の要求を 10 回送信します。
https://{{myserver}}/doc?jsessionid=node1
node1
リクエストが (5 つのリクエスト) と (5 つのリクエスト) に渡されていることに気付きましたnode2
。しかし、stickysession を定義して、 を選択node1
し、毎回このノードに移動するようにします。
私の目標は、クライアントがリクエストを送信しhttps://{{myserver}}/doc?jsessionid=nodeX
、リクエストが渡されることですnodeX
(Cookieを使用せずに..、スティッキーのみを使用するのはURLエンコーディングです)。
たとえば、クライアントはリクエストをhttps://{{myserver}}/doc?jsessionid=node1
10 回送信します。リクエストは 10 回ごとに によって処理されhttps://localhost:5006
ます。
私は何を間違っていますか?