SSL-certificaten vergelijken
Het omleiden van alle verkeer van HTTP naar HTTPS in IIS7 zorgt ervoor dat uw gebruikers altijd veilig toegang hebben tot de site. Er zijn veel verschillende manieren om een IIS7-omleiding van HTTP naar HTTPS in te stellen en sommige zijn beter dan andere. De ideale HTTP naar HTTPS redirect zou het volgende doen:
- Geleidelijk gebruikers omleiden naar HTTPS zodat gebruikers niet “https” in de URL hoeven in te typen
- Gebruikers omleiden naar de specifieke pagina waar ze via HTTP naar toe zouden gaan (page.htm)
- Gebruikers omleiden naar de specifieke pagina die ze via HTTP wilden bereiken (page.htm)
- Bewaar alle variabelen die in de query string zijn doorgegeven (?page=2)
- Werkt in alle browsers
- PageRank overdragen aan de omgeleide pagina door een 301 redirect te gebruiken, waardoor SEO behouden blijft
- Specifieke delen van een site SSL laten afdwingen, maar HTTP toestaan op andere delen van de site
- Gebruikers omleiden van mydomain.com naar www.mydomain.com
Er is helaas geen eenvoudige manier om aan al deze eisen te voldoen, en de meeste methoden voldoen maar aan een paar ervan. De beste methode om HTTP naar HTTPS om te leiden die ik heb gezien, maakt gebruik van ASP.Net om de HTTP naar HTTPS omleiding te doen.
Maar de meeste mensen hebben niet al deze functies nodig, dus ik heb twee van de beste methoden opgesomd om HTTP naar HTTPS om te leiden in IIS 7. Ze zijn eenvoudig op te zetten en effectief in de meeste situaties. Merk op dat deze methodes ook zouden moeten werken in IIS 8 en IIS 10 met enkele kleine aanpassingen.
Methode 1 – Microsoft URL Rewrite Module gebruiken
Voor deze methode om van HTTP naar HTTPS om te leiden, moet u het volgende doen;
- Installeer de Microsoft URL Rewrite Module
- Installeer uw SSL-certificaat in IIS 7 en bind het aan uw website
- Zorg ervoor dat Require SSL NIET is aangevinkt onder SSL Settings voor uw website (vink de vakjes uit die in deze schermafbeelding zijn aangevinkt)
- Kopieer en plak de volgende code tussen de <rules> en </rules> tags in uw web.config bestand in uw website root directory.
<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> - Test de site door naar http://www.yoursite.com te gaan en te controleren of hij doorverwijst
Methode 2 – Een aangepaste foutpagina instellen
De tweede methode voor het instellen van een IIS7-omleiding van HTTP naar HTTPS is door SSL op de site of een deel van de site te vereisen en een aangepaste 403.4-foutpagina in te stellen. Om dit te doen, volgt u gewoon deze stappen:
- Installeer uw SSL-certificaat in IIS 7 en bind het aan uw website
- In IIS klikt u op de sitenaam en gaat u naar de sectie SSL-instellingen
- Vink Vereiste SSL en Vereiste 128-bit SSL aan en klik op Toepassen
- Nadat u dit hebt gedaan, zullen gebruikers normaal gesproken deze foutmelding krijgen:
-
Maak een nieuw tekstbestand aan en plak daarin het volgende:
<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> - Sla het bestand op als redirectToHttps.htm in uw directory C:Inetpub
- Terug in IIS klikt u op de sitenaam en dubbelklikt u op de optie Error Pages
- Klik op Add… en voer als statuscode 403.4 in. Blader naar het bestand redirectToHttps.htm dat u zojuist hebt gemaakt en klik op OK
- Selecteer de foutcode en druk op Feature Settings bewerken…
- Klik op de optie Aangepaste foutpagina’s en blader opnieuw naar het bestand redirectToHttps.htm bestand
- Test de site door naar http://www.yoursite.com te gaan en te controleren of deze doorverwijst
Een kanttekening bij het gebruik van een aangepaste foutpagina om een IIS7-omleiding van HTTP naar HTTPS uit te voeren, is dat JavaScript in de webbrowser moet zijn ingeschakeld om de omleiding te laten werken.
Andere methoden om IIS7 HTTP om te leiden naar HTTPS:
- Redirect van Http naar Https in ASP.NET
- Microsoft Support – How to redirect an HTTP connection to HTTPS for Outlook Web Access clients and how to redirect the Default Web Site to point to the Exchange virtual directory
- IIS 6 Redirect HTTP to HTTPS
- Switching Between HTTP and HTTPS Like A Bigshot Hotshot
Originally posted on Sat Feb 27, 2010