Если IIS настроен на Windows Auth
, то ARR
будет выполнять вызов и перенаправлять запросы только после аутентификации пользователя.
Возможно перенаправлять пользовательские заголовки с запросом, используя имя HTTP
Convention и serverVariables
элемент в правилах перезаписи.Например, в следующем примере серверная переменная LOCAL_ADDR
пересылается как заголовок с именем X-MY-HEADER
.
<rule name="Reverse Proxy to MySite" stopProcessing="true">
<match url="^MySite/(.*)" />
<serverVariables>
<set name="HTTP_X_MY_HEADER" value="{LOCAL_ADDR}" />
</serverVariables>
<action type="Rewrite" url="http://www.myothersite.com/{R:1}" />
</rule>
К сожалению, этот метод невозможно использовать для пересылки заголовка REMOTE_USER
.Это связано с тем, что при наличии заголовка Authorization
запрос пересылается до запуска модуля аутентификации, и поэтому переменные сервера аутентификации не устанавливаются (при сопоставлении с заголовками они просто проходят через пробел).
Вы можетеоднако установите IIS для использования Basic Windows Auth
, а затем извлеките имя пользователя из заголовка Authorization
в кодировке Base64
на вашем сервере Linux.