Variera SSL-certifikat
Omdirigera all trafik från HTTP till HTTPS i IIS7 för att se till att användarna alltid får tillgång till webbplatsen på ett säkert sätt. Det finns många olika sätt att konfigurera en IIS7-omdirigering från HTTP till HTTPS och vissa är bättre än andra. Den idealiska omdirigeringen från HTTP till HTTPS skulle göra följande:
- Omdirigera användarna försiktigt till HTTPS så att de inte behöver skriva ”https” i URL:en
- Omdirigera användarna till den specifika sida som de skulle gå till via HTTP (page.htm)
- Spara alla variabler som skickas i frågeserien (?page=2)
- Fungerar i alla webbläsare
- Överför PageRank till den omdirigerade sidan med hjälp av en 301-omdirigering, vilket upprätthåller SEO
- Att tillåta specifika delar av en webbplats att tvinga fram SSL, men tillåta HTTP på andra delar av webbplatsen
- Omdirigera användare från mydomän.com till www.mydomain.com
Det finns tyvärr inget enkelt sätt att uppfylla alla dessa krav, och de flesta metoder uppfyller bara några av dem. Den bästa metoden för att göra en HTTP- till HTTPS-omdirigering som jag har sett innebär att man använder ASP.Net för att göra HTTP- till HTTPS-omdirigeringen.
Men de flesta behöver inte alla dessa funktioner, så jag har listat två av de bästa metoderna för att omdirigera HTTP till HTTPS i IIS 7. De är enkla att konfigurera och effektiva i de flesta situationer. Observera att dessa metoder även bör fungera i IIS 8 och IIS 10 med några små ändringar.
Metod 1 – Använda Microsoft URL Rewrite Module
För den här metoden för omdirigering från HTTP till HTTPS måste du göra följande;
- Installera Microsoft URL Rewrite Module
- Installera ditt SSL-certifikat i IIS 7 och bind det till din webbplats
- Säkerställ att Require SSL INTE är markerat under SSL Settings for din webbplats (avmarkera rutorna som är markerade i denna skärmdump)
- Kopiera och klistra in följande kod mellan taggarna <rules> och </rules> på din webbplats.config-filen i rotkatalogen för din webbplats.
<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 webbplatsen genom att gå till http://www.yoursite.com och se till att den omdirigerar
Metod 2 – Konfigurera en anpassad felsida
Den andra metoden för att konfigurera en IIS7-omdirigering från HTTP till HTTPS är att kräva SSL på webbplatsen eller en del av webbplatsen och konfigurera en anpassad 403.4-felsida. För att göra detta följer du bara de här stegen:
- Installera ditt SSL-certifikat i IIS 7 och bind det till din webbplats
- I I IIS klickar du på webbplatsens namn och går till avsnittet SSL-inställningar
- Kryssa för Require SSL och Require 128-bitars SSL och klicka på Apply
- När du har gjort det här kommer användarna normalt att få detta fel:
-
Skapa en ny textfil och klistra in följande i den:
<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> - Spara filen som redirectToHttps.htm i din katalog C:\Inetpub
- Tillbaka i IIS, klicka på webbplatsens namn och dubbelklicka på alternativet Error Pages
- Klicka på Add… och ange 403.4 som statuskod. Bläddra till filen redirectToHttps.htm som du just skapat och klicka på OK
- Välj felkoden och tryck på Redigera funktionsinställningar…
- Klicka på alternativet Anpassade felsidor och bläddra igen till filen redirectToHttps.htm-filen
- Testa webbplatsen genom att gå till http://www.yoursite.com och se till att den omdirigeras
En invändning mot att använda en anpassad felsida för att göra en IIS7-omdirigering från HTTP till HTTPS är att webbläsaren måste ha JavaScript aktiverat för att omdirigeringen ska fungera.
Andra metoder för IIS7-omdirigering från HTTP till HTTPS:
- Omdirigering från Http till Https i ASP.NET
- Microsoft Support – Hur man omdirigerar en HTTP-anslutning till HTTPS för Outlook Web Access-klienter och hur man omdirigerar standardwebbplatsen så att den pekar på den virtuella Exchange-katalogen
- IIS 6 Omdirigering av HTTP till HTTPS
- Skifte mellan HTTP och HTTPS som en storvuxen hetsporre
Originellt publicerat lördagen den 27 februari, 2010