Reindirizzare tutto il traffico da HTTP a HTTPS in IIS7

Reindirizzando tutto il traffico da HTTP a HTTPS in IIS7 farà in modo che gli utenti accedono sempre al sito in modo protetto.

Ci sono molti modi diversi per impostare un reindirizzamento in IIS7 da HTTP a HTTPS e alcuni sono migliori di altri. Il reindirizzamento ideale sarebbe:

  • Reindirizzare gli utenti a HTTPS modo che gli utenti non devono digitare “https” nell’URL;
  • Reindirizzare gli utenti alla pagina specifica che stavano per andare su HTTP (page.htm);
  • Salvare eventuali variabili passate nella stringa di query (? Page = 2);
  • Funzionare con tutti i browser;
  • Trasferire il PageRank alla pagina reindirizzata utilizzando un reindirizzamento 301, mantenendo la SEO;

In questo caso noi abbiamo utilizzato l’url rewrite module.

Andando al pratico:

  • bisogna installare Microsoft URL Rewrite Module;
  • installare il certificato SSL in IIS7;
  • Assicurarsi che “Richiedi SSL” non viene selezionato nelle impostazioni SSL del tuo sito;
  • Aggiungere al web.config il seguente codice:
<system.webServer>
  <rewrite>
    <rules>
      <rule name="HTTP to HTTPS redirect" stopProcessing="true">
  <match url="(.*)" />
    <conditions>
      <add input="{HTTPS}" pattern="off" ignoreCase="true" />
    </conditions>
  <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
    </rules>
  </rewrite>
</system.webServer>
  • Testare il sito andando a http://www.ilmiosito.com e fare in modo che reindirizza;