Compara i certificati SSL

Rirezionare tutto il traffico da HTTP a HTTPS in IIS7 farà sì che i tuoi utenti accedano sempre al sito in modo sicuro. Ci sono molti modi diversi per impostare un reindirizzamento IIS7 da HTTP a HTTPS e alcuni sono migliori di altri. Il reindirizzamento da HTTP a HTTPS ideale dovrebbe fare quanto segue:

  • Rindirizzare delicatamente gli utenti a HTTPS in modo che gli utenti non debbano digitare “https” nell’URL
  • Rindirizzare gli utenti alla pagina specifica che stavano per andare su HTTP (page.htm)
  • Salvare qualsiasi variabile passata nella stringa di query (?page=2)
  • Funziona in tutti i browser
  • Trasferire PageRank alla pagina reindirizzata usando un reindirizzamento 301, mantenendo il SEO
  • Permettere a parti specifiche di un sito di forzare SSL ma permettere HTTP su altre parti del sito
  • Ridurre gli utenti da mydomain.com a www.mydomain.com

Purtroppo, non c’è un modo semplice per soddisfare tutti questi requisiti, e la maggior parte dei metodi ne soddisfa solo alcuni. Il miglior metodo per fare un reindirizzamento da HTTP a HTTPS che ho visto comporta l’uso di ASP.Net per fare il reindirizzamento da HTTP a HTTPS.

Ma la maggior parte delle persone non ha bisogno di tutte queste caratteristiche, quindi ho elencato due dei migliori metodi per reindirizzare HTTP a HTTPS in IIS 7. Sono facili da configurare ed efficaci nella maggior parte delle situazioni. Si noti che questi metodi dovrebbero funzionare anche in IIS 8 e IIS 10 con alcune piccole modifiche.

Metodo 1 – Utilizzo del modulo Microsoft URL Rewrite

Per questo metodo di reindirizzamento da HTTP a HTTPS, è necessario fare quanto segue;

  1. Installare il modulo Microsoft URL Rewrite Module
  2. Installare il tuo certificato SSL in IIS 7 e legarlo al tuo sito web
  3. Assicurarsi che Require SSL NON sia selezionato in Impostazioni SSL per il tuo sito web (deseleziona le caselle che sono selezionate in questo screenshot)

  4. Copia e incolla il seguente codice tra i tag <rules> e </rules> nel tuo file web.config nella directory principale del tuo sito web.

    <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>

  5. Testa il sito andando su http://www.yoursite.com e assicurandoti che reindirizzi

Metodo 2 – Impostare una pagina di errore personalizzata

Il secondo metodo per impostare un IIS7 reindirizza HTTP a HTTPS è richiedere SSL sul sito o parte di esso e impostare una pagina di errore 403.4 personalizzata. Per fare questo, basta seguire questi passi:

  1. Installa il tuo certificato SSL in IIS 7 e legalo al tuo sito web
  2. In IIS, clicca sul nome del sito e vai alla sezione Impostazioni SSL

  3. Controlla Require SSL e Require 128-bit SSL e clicca su Applica

  4. Dopo aver fatto questo, gli utenti riceveranno normalmente questo errore:

  5. Crea un nuovo file di testo e incolla il seguente:

    <html>
    <head><title>Redirecting...</title></head>
    <script language="JavaScript">
    function redirectHttpToHttps()
    {
    var httpURL= window.location.hostname + window.location.pathname + window.location.search;
    var httpsURL= "https://" + httpURL;
    window.location = httpsURL;
    }
    redirectHttpToHttps();
    </script>
    <body>
    </body>
    </html>

  6. Salva il file come redirectToHttps.htm nella tua directory C:\Inetpub
  7. Di nuovo in IIS, clicca sul nome del sito e fai doppio clic sull’opzione Error Pages

  8. Clicca Add… e inserisci 403.4 come codice di stato. Cerca il file redirectToHttps.htm che hai appena creato e clicca OK

  9. Seleziona il codice di errore e premi Modifica impostazioni caratteristiche…

  10. Clicca l’opzione Pagine di errore personalizzate e cerca ancora il file redirectToHttps.htm

  11. Testate il sito andando su http://www.yoursite.com e assicurandovi che reindirizzi

Un avvertimento dell’uso di una pagina di errore personalizzata per fare un reindirizzamento IIS7 da HTTP a HTTPS è che il browser web deve avere JavaScript abilitato perché il reindirizzamento funzioni.

Altri metodi per reindirizzare IIS7 da HTTP a HTTPS:

  • Redirect from Http to Https in ASP.NET
  • Supporto Microsoft – Come reindirizzare una connessione HTTP a HTTPS per i client Outlook Web Access e come reindirizzare il sito web predefinito per puntare alla directory virtuale di Exchange
  • IIS 6 Redirect HTTP to HTTPS
  • Switching between HTTP and HTTPS Like A Bigshot Hotshot

Originalmente inviato il Sab Feb 27, 2010

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.