Windows IIS Üzerinde HTTPS Zorunluluğu Nasıl Uygulanır?
Windows IIS Üzerinde HTTPS Zorunluluğu Nasıl Uygulanır?
HTTPS (HyperText Transfer Protocol Secure), web trafiğini şifreleyerek veri güvenliğini sağlayan standart protokoldür. Windows Server üzerindeki Internet Information Services (IIS) ortamlarında HTTPS zorunluluğu yapılandırmak, kullanıcı verilerini korumanın ve SEO açısından site güvenilirliğini artırmanın en temel adımlarındandır. Bu rehberde IIS üzerinde HTTPS zorunlu yönlendirme (HTTP → HTTPS redirect) işlemini adım adım açıklıyoruz.
- Neden HTTPS Zorunluluğu?
- Gereksinimler
- 1. IIS Üzerine SSL Sertifikası Ekleme
- 2. HTTPS Binding İşlemi
- 3. HTTP’den HTTPS’ye Yönlendirme (Rewrite Rule)
- Adımlar:
- 4. Web.config Dosyası Üzerinden HTTPS Zorunluluğu
- 5. HSTS (HTTP Strict Transport Security) Aktifleştirme
- 6. HTTPS Testi
- 7. HTTPS Zorunluluğu PowerShell ile Uygulama
- 8. Olası Sorunlar ve Çözümler
- Sonuç
Neden HTTPS Zorunluluğu?
- Kullanıcı ile sunucu arasındaki veri iletişimi şifrelenir.
- SSL/TLS sertifikası sayesinde kimlik doğrulaması yapılır.
- Arama motorları (Google vb.) HTTPS kullanan siteleri daha üst sıralara taşır.
- Tarayıcılar, HTTP bağlantıları “Güvensiz” olarak işaretler.
Gereksinimler
- Windows Server 2016 veya üzeri
- IIS (Internet Information Services) kurulmuş olmalı
- SSL/TLS sertifikası yüklü (örneğin Let’s Encrypt veya HostLigo SSL)
- Yönetici (Administrator) erişimi
1. IIS Üzerine SSL Sertifikası Ekleme
- IIS Manager’ı açın (
inetmgrkomutuyla). - Sol menüden sunucu adını seçin.
- “Server Certificates” seçeneğine tıklayın.
- Sağ panelde “Import” veya “Create Certificate Request” seçeneğiyle sertifikayı yükleyin.
- Yüklü sertifika görünür hale geldikten sonra siteye bağlayabilirsiniz.
2. HTTPS Binding İşlemi
HTTPS bağlantısı için siteye SSL bağlaması yapılmalıdır.
- IIS Manager’da web sitenizi seçin.
- Sağ panelden “Bindings…” tıklayın.
- “Add” seçeneğine basın.
- Type kısmını https olarak seçin.
- SSL Certificate menüsünden yüklediğiniz sertifikayı seçin.
- OK diyerek işlemi tamamlayın.
3. HTTP’den HTTPS’ye Yönlendirme (Rewrite Rule)
HTTPS zorunluluğu için HTTP isteklerinin otomatik olarak HTTPS’e yönlendirilmesi gerekir. Bunun için URL Rewrite modülü kullanılır.
Adımlar:
- Sunucuda URL Rewrite Module yüklü değilse kurun.
- IIS Manager’da siteyi seçin ve “URL Rewrite” ikonuna tıklayın.
- “Add Rules…” → “Blank Rule” seçin.
- Rule adını “HTTPS Redirect” olarak belirleyin.
- “Conditions” sekmesinde “Add” tıklayın ve aşağıdaki koşulu girin:
Condition input: {HTTPS}
Check if input string: Matches the Pattern
Pattern: off
- “Action” sekmesinde şu ayarları yapın:
Action Type: Redirect
Redirect URL: https://{HTTP_HOST}/{R:1}
Redirect type: Permanent (301)
Bu kural, tüm HTTP bağlantılarını kalıcı olarak HTTPS’e yönlendirir.
4. Web.config Dosyası Üzerinden HTTPS Zorunluluğu
Alternatif olarak yönlendirme kuralını doğrudan web.config dosyasına da ekleyebilirsiniz:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Bu yöntem, özellikle Windows Hosting ortamlarında sıkça kullanılır.
5. HSTS (HTTP Strict Transport Security) Aktifleştirme
HTTPS bağlantılarını tarayıcı düzeyinde zorunlu hale getirmek için HSTS başlığı eklenir.
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains" />
</customHeaders>
</httpProtocol>
</system.webServer>
Bu başlık, tarayıcıya “bu siteye yalnızca HTTPS üzerinden bağlan” kuralı tanımlar.
6. HTTPS Testi
- SSL Labs Test ile sertifika ve yönlendirme durumunu kontrol edin.
- Tarayıcı adres çubuğunda kilit simgesi görünüyorsa HTTPS doğru yapılandırılmıştır.
7. HTTPS Zorunluluğu PowerShell ile Uygulama
Yönetimsel senaryolarda HTTPS yönlendirmesi PowerShell üzerinden de yapılabilir:
Import-Module WebAdministration
Set-WebConfigurationProperty -Filter "/system.webServer/rewrite/rules/rule[@name='Redirect to HTTPS']/action" -Name "url" -Value "https://{HTTP_HOST}/{R:1}"
8. Olası Sorunlar ve Çözümler
- ERR_TOO_MANY_REDIRECTS: Aynı yönlendirme kuralı birden fazla kez tanımlanmış olabilir.
- Mixed Content Hataları: Sayfada HTTPS olmayan kaynaklar (resim, JS, CSS) varsa “mixed content” uyarısı çıkar.
- SSL Sertifika Hataları: Sertifikanın domain ile eşleştiğinden emin olun.
Sonuç
Windows IIS üzerinde HTTPS zorunluluğu yapılandırmak, hem veri güvenliği hem de kullanıcı güveni açısından kritik öneme sahiptir. URL Rewrite veya web.config tabanlı yönlendirme ile sitenizin tüm trafiğini güvenli hale getirebilirsiniz. HostLigo SSL çözümleri ve Windows Hosting altyapılarıyla tam HTTPS uyumlu profesyonel güvenlik yapılandırmalarını kolayca uygulayabilirsiniz.