httpcontext.request.urlおよびrequest.servervariables [“ http_host”]が異なる値を返すのはなぜですか

StackOverflow https://stackoverflow.com/questions/4419735

質問

ロードバランスの取れたサーバーのプールから実行される3つのWebサイトがあります。 Load-Balancerは、粘着性のセッションを使用して、セッションが初期プールにとどまることを確認します。

Webサイトでは、Webサイトに固有のURLを生成する必要があります。標準的な手順に従って、httpcontext.request.urlを使用しようとしましたが、これは間違ったURLを返します。次に、request.servervariables ["http_host"]を使用しようとしましたが、それが正しいURLを返します。

誰かがアイデアを持っていますか?

サイトa:request.urlはurl a request.servervariables ["http_host"]を返しますurl aを返します

サイトB:

request.urlはurl a request.servervariables ["http_host"] url bを返します

現場C:

request.urlはurl a request.servervariables ["http_host"] url cを返します

役に立ちましたか?

解決

Request.ServerVariables["HTTP_HOST"] IISホストを返します。つまり、ホスト名のWebサイトは応答するように設定されています。それは、ページに到達するために実行されたURLクライアントと同じホストである場合とそうでない場合があります。クライアントは常に同じURLを実行するため、表示される動作は完全に論理的ですが、ロードバランサーはそれを異なるIISインスタンスに送信します。

編集:そのメモで、なぜ「ウェブサイトに固有のURL」が必要なのかと混同されていますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top