Szukaj…


Wymuś HTTPS przy użyciu reguły Rewrite

W tym przykładzie pokazano, w jaki sposób można użyć reguł przepisywania IIS w celu wymuszenia HTTPS, powodując, że wszystkie żądania HTTP zwracają przekierowanie 301 (stałe) na stronę HTTPS.

Zwykle jest to lepsze niż użycie atrybutu [RequireHttps] ponieważ atrybut wykorzystuje przekierowanie 302, a będąc w potoku MVC jest znacznie wolniejszy niż na poziomie IIS.

   <rewrite xdt:Transform="Insert">
      <rules>
        <rule name="Enforce HTTPS WWW" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll" trackAllCaptures="true">
            <add input="{HTTP_HOST}" pattern="^(?!www)(.*)"/>
            <add input="{URL}" pattern="^(.*)"/>
            <!-- {URL} Gives the base portion of the URL, without any querystring or extra path information, for example, "/vdir/default.asp". -->
          </conditions>
          <action type="Redirect" url="https://www.{C:1}{C:2}" appendQueryString="true" redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow