Artikel ini adalah cara untuk mengubah hala trafik semua dari HTTP kepada HTTPS pada Pelayan IIS7 untuk memastikan pengguna anda sentiasa mengakses laman dengan selamat. Terdapat banyak cara yang berbeza untuk menubuhkan IIS7 Redirect dari HTTP kepada HTTPS dan ada yang lebih baik daripada yang lain. HTTP yang ideal untuk HTTPS redirect akan lakukan yang berikut:
- Secara lancar melencongkan pengguna ke HTTPS jadi pengguna tidak perlu menaip dalam "https" dalam URL
- Melencongkan pengguna ke halaman tertentu bahawa mereka akan pergi pada HTTP (page.htm)
- Simpan mana-mana variables yang dihantar dalam string query (? Page = 2)
- Berkesan pada semua pelayar
- Pemindahan PageRank halaman diarahkan dengan menggunakan 301 redirect, mengekalkan SEO
- Benarkan bahagian tertentu laman untuk memaksa SSL tetapi membenarkan HTTP pada bahagian-bahagian lain.
- Redirect pengguna dari mydomain.com untuk www.mydomain.com
Tetapi kebanyakan orang tidak memerlukan semua ciri-ciri, jadi saya telah disenaraikan dua kaedah terbaik mengalihkan HTTP kepada HTTPS dalam IIS 7. Mereka adalah mudah untuk menubuhkan dan berkesan dalam kebanyakan situasi.
CARA 1 : Menggunakan Microsoft URL Rewrite Module
Bagi kaedah ini mengalihkan dari HTTP kepada HTTPS, anda akan perlu untuk melakukan perkara-perkara berikut:
- Install URL Microsoft URL Rewrite Module
- Setup SSL certificate anda dalam IIS 7 kepada laman web anda
- Pastikan Require SSL TIDAK ditanda di bawah SSL Setting untuk laman web anda (nyahtanda kotak yang diperiksa dalam paparan ini)
- Copy and paste kod berikut antara tag
dan dalam fail web.config anda dalam direktori root laman web anda)<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>
- Uji tapak dengan pergi ke http://www.lamanAnda.com dan memastikan ia dilencongkan
Kaedah 2 - Mewujudkan Custom Page untuk Error
Kaedah kedua menubuhkan IIS7 redirect HTTP kepada HTTPS adalah menggunakan Require SSL di laman web atau sebahagian laman dan mewujudkan halaman untuk ralat 403.4 (error page). Untuk melakukan ini, hanya mengikuti langkah-langkah ini:
1. Sediakan SSL certificate anda dalam IIS 7 kpadae laman web anda
2. Di IIS, klik pada nama laman web, dan pergi ke bahagian SSL Setting
3. Buat satu fail html baru dan paste program yang berikut ke dalamnya:
<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
3. Simpan fail atas nama redirectToHttps.htm dalam directori C:\Inetpub directory
4. Pergi Semula dalam IIS dan klik pada laman anda dan double-click pada Error Pages.
5. Klik tambah (add)…dam masukkan 403.4 sebagai Status Code. Pada Insert content from static file into the error response masukkan directory fail htm tadi dan klik OK.
…
6. Pilih Error Code (403.4) yang berkenaan dan Klik Edit Feature Setting7.Klik Pada Custom error pages dan buat masukkan URL fail tadi dalam bahagian DefaultPage
9. Peringatan menggunakan Error Page dalam IIS7 untuk melencongkan HTTP kepada HTTPS adalah memerlukan brosur web tersebut tersedia dengan JavaScript dan fungsinya diaktifkan.
Sumber lain IIS7 untuk dilencongkan HTTP to HTTPS:
- Redirect from Http to 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