У меня есть некоторые правила, установленные для переписывания определенных URL-адресов, чтобы сделать вещи немного более аккуратными, но у меня проблемы с HTTPS, так как наш сервер доступен только через наш балансировщик нагрузки, используя HTTP. Балансировщик нагрузки добавляет заголовок запроса Front-End-Https, который я хотел бы использовать вместо переменной сервера IIS {HTTPS}. Это возможно?Можете ли вы использовать заголовок запроса или ответа на карте перезаписи URL-адреса IIS8?
Что-то вроде:
<rule name="RemoveAspxExtension" enabled="true" stopProcessing="true">
<match url="(.*).aspx$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{URL}" pattern="\.axd$" negate="true" />
<add input="{URL}" pattern="\.aspx/" negate="true" />
<add input="{URL}" pattern="\.asmx" negate="true" />
<add input="{URL}" pattern="\.ashx" negate="true" />
<add input="{URL}" pattern="\.css$" negate="true" />
<add input="{URL}" pattern="\.js$" negate="true" />
<add input="{URL}" pattern="\.png$" negate="true" />
<add input="{URL}" pattern="\.jpg$" negate="true" />
<add input="{URL}" pattern="\.gif$" negate="true" />
<add input="{URL}" pattern="\.xml$" negate="true" />
<add input="{URL}" pattern="\.txt$" negate="true" />
<add input="{URL}" pattern="\.html$" negate="true" />
<add input="{URL}" pattern="/scripts/" negate="true" />
<add input="{URL}" pattern="/styles/" negate="true" />
<add input="{URL}" pattern="/secured/" negate="true" />
</conditions>
<action type="Redirect" url="{MapProtocol:{ToLower:{Front-End-Https}}}://{HTTP_HOST}/{R:1}" appendQueryString="true" />
</rule>
</rules>
<rewriteMaps>
<rewriteMap name="MapProtocol" defaultValue="http">
<add key="on" value="https" />
<add key="off" value="http" />
</rewriteMap>
</rewriteMaps>
Cheers. Я уверен, что это было очень просто, но все, что я мог найти, это установить значения, а не использовать их. Это сработало отлично. –