Добавление пользовательского заголовка в запросы ARR

Я запускаю службу за IIS, используя ARR в качестве обратного прокси. Я знаю, что есть заголовки x-forwarded-for и x-arr-log-id, которые передаются. Однако я хотел бы, чтобы был передан закрытый ключ, чтобы вспомогательное приложение явно знало, что запрос не является локальным (даже если сервер ARR). Я видел несколько сообщений о добавлении/замене переменных сервера, но, похоже, это не проходит через заголовки запросов в вспомогательном приложении.

Я предполагаю, что должен быть какой-то параметр web.config, который сделает это, но до сих пор мне не удалось его найти.

Пример: X-PRIVATE-TOKEN: We are the children of Korn!

Так что я могу доверять адресу x-forwarded-for как фактическому адресу, а не просто не доверять всем ссылкам на IP-адреса прокси-запроса.


person Tracker1    schedule 27.11.2012    source источник
comment
Я знаю, что этот вопрос, вероятно, в равной степени актуален для ServerFault, однако, учитывая, что ручная настройка Web.config более типична для домена разработчика, я решил, что это будет лучшее место, чтобы получить ответ здесь.   -  person Tracker1    schedule 27.11.2012


Ответы (2)


пытаться:

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

Поле заголовка http-запроса будет: x-private-token

person SzB    schedule 27.11.2014

Ответ предоставлен IIS.net может показаться, что это часть соответствующего модуля перезаписи URL:

Заголовки запросов устанавливаются с использованием того же механизма, что и для серверных переменных, но с особым соглашением об именах. Если имя серверной переменной в коллекции начинается с «HTTP_», это приводит к тому, что заголовок HTTP-запроса устанавливается в соответствии со следующим соглашением об именах:

Все символы подчеркивания ("_") в имени преобразуются в символы тире ("-"). Все буквы переводятся в нижний регистр. Префикс «HTTP_» удален. Например, следующая конфигурация используется для установки пользовательского заголовка x-original-host в запросе:

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

person mwardm    schedule 09.04.2013
comment
Святое дерьмо, это запутано, но это работает. Спасибо большое спустя 7 лет! - person Gaspa79; 09.03.2020