16

ARR をリバース プロキシとして使用して、IIS の背後でサービスを実行しています。渡されるヘッダーがあることは知っていx-forwarded-forます。x-arr-log-idただし、私が望むのは、(ARR サーバーがローカルであっても) 要求がローカルではないことをバッキング アプリケーションが明示的に認識できるように、秘密鍵が渡されることです。サーバー変数の追加/置換に関する投稿を見たことがありますが、これはバッキング アプリケーションのリクエスト ヘッダーを介して行われるようには見えません。

これを行う web.config 設定が必要であると推測していますが、これまでのところ見つけることができませんでした。

例:X-PRIVATE-TOKEN: We are the children of Korn!

x-forwarded-forすべてのプロキシ要求の IP アドレス参照を単純に信用しないのではなく、アドレスが実際のアドレスであると信頼できるようにします。

4

2 に答える 2

20

IIS.netの好意による答えは、これが関連する URL 書き換えモジュールの一部であるように思われます。

要求ヘッダーは、サーバー変数と同じメカニズムを使用して設定されますが、特別な命名規則が使用されます。コレクション内のサーバー変数名が「HTTP_」で始まる場合、次の命名規則に従って HTTP 要求ヘッダーが設定されます。

名前に含まれるアンダースコア ("_") 記号はすべてダッシュ記号 ("-") に変換されます。すべての文字が小文字に変換されます。「HTTP_」プレフィックスは削除されます。たとえば、次の構成を使用して、リクエストにカスタム x-original-host ヘッダーを設定します。

<set name="HTTP_X_ORIGINAL_HOST" value="{HTTP_HOST}" />

于 2013-04-09T10:24:09.413 に答える
10

試す:

<rule name="myRule_01">
  ...
  <serverVariables>
    <set name="HTTP_X_PRIVATE_TOKEN" value="We are the children of Korn!" />
  </serverVariables>
  ...
</rule>

http リクエストのヘッダー フィールドは次のようになります: x-private-token

于 2014-11-27T15:31:35.633 に答える