0

У меня есть некоторые правила, установленные для переписывания определенных 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> 

ответ

1

Да, вы можете использовать любой HTTP-заголовок путем добавления {HTTP_ спереди, сома вы можете использовать {HTTP_Front-End-Https} и он должен работать.

+0

Cheers. Я уверен, что это было очень просто, но все, что я мог найти, это установить значения, а не использовать их. Это сработало отлично. –

Смежные вопросы