Я пытаюсь реализовать обратный прокси-сервер с использованием модуля перезаписи ARR и URL-адресов в IIS. У меня есть два сервера с именами A и B. Я установил ADFS на сервере «A», а сервер «B» используется только для обратного прокси. Я установил модули ARR и URL-Rewrite на сервере «B».
Например, доменное имя сервера «A» «myadfs1.com» и доменное имя сервера «B» «myproxy.com». URL-адрес страницы входа на сервер федерации - https://myadfs1.com/adfs/ls/IdpInitiatedSignon.aspx < / а>
Описание проблемы -
Когда я обращаюсь к прямому URL-адресу ADFS, то есть https://myadfs1.com/adfs/ls/IdpInitiatedSignon.aspx, получение ответа и открытие страницы входа в ADFS нормально. Нет проблем. Но когда я пытаюсь получить доступ к странице входа в ADFS через прокси, то есть https://myproxy.com/adfs/ls/IdpInitiatedSignon.aspx получает ошибку 503, т.е. служба недоступна.
Ниже правила, которые я использую для перезаписи -
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<outboundRules>
<preConditions>
<preCondition name="ResponseIsHtml1">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
<rules>
<clear />
<rule name="ReverseProxyInboundRule2" stopProcessing="true">
<match url="[a][d][f][s](.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="On" />
</conditions>
<action type="Rewrite" url="https://myadfs1.com/adfs{R:1}" appendQueryString="true" logRewrittenUrl="true" />
</rule>
</rules>
</rewrite>
<tracing>
<traceFailedRequests>
<add path="*">
<traceAreas>
<add provider="ASP" verbosity="Verbose" />
<add provider="ISAPI Extension" verbosity="Verbose" />
<add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,FastCGI,WebSocket" verbosity="Verbose" />
</traceAreas>
<failureDefinitions timeTaken="00:00:00" statusCodes="400-600" />
</add>
</traceFailedRequests>
</tracing>
</system.webServer>
<system.web>
<identity impersonate="false" />
</system.web>
</configuration>
Некоторые наблюдения -
Если я пытаюсь получить доступ к https://myproxy.com/adfs/ls/IdpInitiatedSignon.aspx URL, то я не получаю никаких журналов IIS на прокси-сервере. Но если я попробую тот же URL, просто заменив «adfs» на «adfs1», тогда IIS регистрирует запрос и получает ошибку 404.
Поэтому мне нужна помощь в настройке обратного прокси-сервера для доступа к ADFS.