Istruzioni passo passo per reindirizzare il traffico HTTP a HTTPS su Microsoft IIS 7X+
Il reindirizzamento HTTP a HTTPS è una parte necessaria dell’installazione di un certificato SSL. Il certificato SSL è come una patente di guida. Può fornire informazioni di autenticazione sull’entità che lo detiene, e permette anche certi permessi. Nel caso della patente, si ottiene il permesso di usare le strade. Con SSL, si ottiene il permesso di servire il proprio sito web via HTTPS e formare una connessione sicura e criptata tramite il protocollo SSL/TLS.
Ci sono in realtà più metodi per impostare un reindirizzamento da HTTP a HTTPS. E alcuni sono migliori di altri. Idealmente, il reindirizzamento da HTTP a HTTPS in IIS dovrebbe:
- Rindirizzare gli utenti in modo che non debbano digitare manualmente https:// all’inizio del tuo URL
- Rindirizzare gli utenti alla pagina che intendevano visitare in primo luogo
- Salvare le variabili contenute nella stringa di query
- Funzionare con tutti i browser
- Trasferire SEO e page rank alla nuova pagina HTTPS
- Rindirizzare gli utenti dall’URL non WWW a quello WWW, o viceversa
Ricorda, quando stai migrando a HTTPS, non stai semplicemente girando un interruttore. Stai letteralmente creando nuove versioni di ogni pagina del tuo sito web e reindirizzando a quelle. Ecco perché fare il tuo reindirizzamento da HTTP a HTTPS correttamente è così critico, potresti perdere tutte le tue classifiche da un giorno all’altro se fai casino.
Nessuna pressione, giusto?
Non preoccuparti, ti abbiamo coperto. Ecco i tre migliori metodi per creare un reindirizzamento da HTTP a HTTPS in IIS 7 e tutte le versioni superiori:
Metodo 1: Usare il modulo IIS URL Rewrite
Avrai bisogno di installare il modulo URL rewrite prima di poter usare questo metodo. Non è difficile.
Scarica da qui: https://www.iis.net/downloads/microsoft/url-rewrite
Quando installi il modulo di riscrittura URL sarà sotto la sezione IIS.
- Installa il tuo certificato SSL e legalo al tuo sito web
- Sotto l’impostazione SSL, disattiva “Require SSL”
- Aggiungi il seguente codice tra i tag <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>
- Ora aggiungi il codice sotto al file web.config alla radice del tuo sito:
<?xml version="1.0" encoding="UTF-8"?><configuration> <system.webServer> <rewrite> <rules> <rule name="HTTP/S to HTTPS Redirect" enabled="true" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAny"> <add input="{SERVER_PORT_SECURE}" pattern="^0$" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" /> </rule> </rules> </rewrite> </system.webServer></configuration>
Se vuoi includere la stringa di query nell’URL riscritto, allora puoi aggiungere appendQueryString=”true” sotto la sezione action.
Metodo 2: Usare IIS Default Document
Questo è abbastanza facile, basta introdurre una pagina ASP di esempio nella root del sito e aggiungere il seguente codice:
<% If Request.ServerVariables("HTTPS") = "off" Then Response.Redirect "https://" & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("UNENCODED_URL") ElseIf Request.ServerVariables("HTTPS") = "on" Then Response.Redirect "https://" & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("UNENCODED_URL") End If %>
Metodo 3: Usare IIS HTTP Redirect Module
Questo ultimo metodo NON è IDEALE. Quindi, nell’interesse di fornirvi i migliori consigli, vi sconsigliamo di usare questo metodo.
Risorse importanti da leggere
- Installare il certificato SSL su Microsoft Azure
- Installare il certificato SSL su Microsoft IIS 8
- Rirezione da HTTP a HTTPS usando .htaccess e web.config
Certificato SSL per Microsoft IIS Server
Sapere quali certificati SSL e autorità di certificazione si adattano meglio a Microsoft IIS Server 7X e alle sue versioni superiori e come ottenere l’SSL ai prezzi più economici.
Acquista certificati SSL a soli $5.45