Comparați certificatele SSL
Redirecționarea întregului trafic de la HTTP la HTTPS în IIS7 se va asigura că utilizatorii dvs. accesează întotdeauna site-ul în siguranță. Există mai multe moduri diferite de a configura o redirecționare IIS7 de la HTTP la HTTPS și unele sunt mai bune decât altele. Redirecționarea ideală de la HTTP la HTTPS ar face următoarele:
- Redirecționează ușor utilizatorii către HTTPS, astfel încât utilizatorii să nu fie nevoiți să tasteze „https” în URL
- Redirecționează utilizatorii către pagina specifică pe care urmau să o acceseze pe HTTP (page.htm)
- Salvează orice variabile trecute în șirul de interogare (?page=2)
- Funcționează în toate browserele
- Transferă PageRank-ul către pagina redirecționată prin utilizarea unei redirecționări 301, menținând SEO
- Permite ca anumite părți specifice ale unui site să forțeze SSL, dar permite HTTP în alte părți ale site-ului
- Redirecționează utilizatorii din mydomain.com către www.mydomain.com
Din păcate, nu există o modalitate ușoară de a satisface toate aceste cerințe, iar majoritatea metodelor satisfac doar câteva dintre ele. Cea mai bună metodă de a face o redirecționare de la HTTP la HTTPS pe care am văzut-o implică utilizarea ASP.Net pentru a face redirecționarea de la HTTP la HTTPS.
Dar majoritatea oamenilor nu au nevoie de toate aceste caracteristici, așa că am enumerat două dintre cele mai bune metode de redirecționare de la HTTP la HTTPS în IIS 7. Acestea sunt ușor de configurat și eficiente în majoritatea situațiilor. Rețineți că aceste metode ar trebui să funcționeze și în IIS 8 și IIS 10 cu câteva mici modificări.
Metoda 1 – Utilizarea modulului Microsoft URL Rewrite
Pentru această metodă de redirecționare de la HTTP la HTTPS, va trebui să faceți următoarele;
- Instalați Microsoft URL Rewrite Module
- Instalați certificatul SSL în IIS 7 și legați-l la site-ul dvs. web
- Asigurați-vă că opțiunea Require SSL NU este bifată în Setări SSL pentru site-ul dvs. web (debifați căsuțele care sunt bifate în această captură de ecran)
- Copiați și lipiți următorul cod între etichetele <rules> și </rules> din site-ul dvs. web.config din directorul rădăcină al site-ului dvs. 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ți site-ul accesând http://www.yoursite.com și asigurându-vă că se redirecționează
Metoda 2 – Configurarea unei pagini de eroare personalizate
A doua metodă de configurare a unei redirecționări IIS7 de la HTTP la HTTPS este de a solicita SSL pe site sau pe o parte a acestuia și de a configura o pagină de eroare 403.4 personalizată. Pentru a face acest lucru, trebuie doar să urmați acești pași:
- Instalați certificatul SSL în IIS 7 și legați-l la site-ul dvs. web
- În IIS, faceți clic pe numele site-ului și mergeți la secțiunea SSL Settings
- Blocați Require SSL și Require 128-bit SSL și faceți clic pe Apply
- După ce faceți acest lucru, utilizatorii vor primi în mod normal această eroare:
-
Creați un nou fișier text și lipiți următoarele în el:
<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ți fișierul ca redirectToHttps.htm în directorul C:\Inetpub
- Înapoi în IIS, faceți clic pe numele site-ului și faceți dublu clic pe opțiunea Error Pages
- Click pe Add… și introduceți 403.4 ca și cod de stare. Căutați fișierul redirectToHttps.htm pe care tocmai l-ați creat și faceți clic pe OK
- Selectați codul de eroare și apăsați Edit Feature Settings…
- Click pe opțiunea Custom error pages și căutați din nou fișierul redirectToHttps.htm file
- Testați site-ul mergând la http://www.yoursite.com și asigurându-vă că se redirecționează
Un avertisment al utilizării unei pagini de eroare personalizate pentru a face o redirecționare IIS7 de la HTTP la HTTPS este că browserul web trebuie să aibă JavaScript activat pentru ca redirecționarea să funcționeze.
Alte metode de redirecționare IIS7 de la HTTP la HTTPS:
- Redirecționarea de la Http la Https în ASP.NET
- Susținerea Microsoft – Cum să redirecționați o conexiune HTTP la HTTPS pentru clienții Outlook Web Access și cum să redirecționați site-ul web implicit pentru a indica directorul virtual Exchange
- IIS 6 Redirecționează HTTP la HTTPS
- Switching Between HTTP and HTTPS Like A Bigshot Hotshot
Original posted on Sat Feb 27, 2010