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;
- Installare il modulo Microsoft URL Rewrite Module
- Installare il tuo certificato SSL in IIS 7 e legarlo al tuo sito web
- Assicurarsi che Require SSL NON sia selezionato in Impostazioni SSL per il tuo sito web (deseleziona le caselle che sono selezionate in questo screenshot)
- 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> - 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:
- Installa il tuo certificato SSL in IIS 7 e legalo al tuo sito web
- In IIS, clicca sul nome del sito e vai alla sezione Impostazioni SSL
- Controlla Require SSL e Require 128-bit SSL e clicca su Applica
- Dopo aver fatto questo, gli utenti riceveranno normalmente questo errore:
-
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> - Salva il file come redirectToHttps.htm nella tua directory C:\Inetpub
- Di nuovo in IIS, clicca sul nome del sito e fai doppio clic sull’opzione Error Pages
- Clicca Add… e inserisci 403.4 come codice di stato. Cerca il file redirectToHttps.htm che hai appena creato e clicca OK
- Seleziona il codice di errore e premi Modifica impostazioni caratteristiche…
- Clicca l’opzione Pagine di errore personalizzate e cerca ancora il file redirectToHttps.htm
- 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