IIS'te PFX ile SSL Kurulumu (Windows) — Şifre ve Binding

Windows Server üzerinde çalışan IIS (Internet Information Services), sertifikaları Linux'tan farklı olarak PFX formatında bekler. PFX (PKCS#12), sertifikayı ve özel anahtarı şifreli tek bir .pfx dosyasında birleştirir. Bu rehberde PFX dosyasını IIS'e aktarmayı ve site binding'i kurmayı göstereceğiz.

PFX dosyası nedir?

PFX, üç parçayı (sertifika, özel anahtar ve ara zincir) tek bir kapta toplar. Dosya bir şifre ile korunur; içe aktarırken bu şifre sorulur. Bu yapı, anahtarı Windows sertifika deposuna güvenle taşımayı kolaylaştırır.

Ücretsiz SSL sihirbazımız ile sertifikanızı oluşturduğunuzda inen ZIP içinde hazır bir certificate.pfx dosyası bulunur. PFX'in şifresi, indirme ekranında size gösterilir; bu şifreyi not alın çünkü içe aktarma adımında gerekecek.

Adım 1 — PFX'i Windows'a içe aktarın

IIS Yöneticisi'ni açın ve sol panelden sunucu adına tıklayın. Orta panelde Server Certificates (Sunucu Sertifikaları) simgesini açın.

  1. Sağ paneldeki Import... bağlantısına tıklayın.
  2. Certificate file (.pfx) alanında certificate.pfx dosyasını seçin.
  3. Password alanına indirme ekranında verilen PFX şifresini girin.
  4. Sertifika deposunu Personal olarak bırakın ve OK deyin.
Görsel: <IIS Import Certificate penceresi ve şifre alanı>
PFX'i içe aktarırken indirme ekranındaki şifre girilir.

Adım 2 — Site binding'i ekleyin

Sertifika listeye eklendikten sonra ilgili siteyi HTTPS üzerinden yayınlamak için binding tanımlamanız gerekir:

  1. Sol panelde Sites altında ilgili siteye tıklayın.
  2. Sağ panelden Bindings... seçeneğini açın.
  3. Add... deyin; Type olarak https, Port olarak 443 seçin.
  4. SSL certificate menüsünden az önce içe aktardığınız sertifikayı seçin.
  5. Birden fazla site aynı IP'yi paylaşıyorsa Require Server Name Indication (SNI) kutusunu işaretleyin ve host adını yazın.

Adım 3 — HTTP'den HTTPS'e yönlendirme

IIS'te yönlendirme için URL Rewrite modülü kullanılır. Sitenizin web.config dosyasına aşağıdaki kuralı ekleyin:

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="HTTP to HTTPS" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTPS}" pattern="off" />
          </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}/{R:1}"
                  redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

redirectType="Permanent", 301 yönlendirmesi üretir ve arama motorlarına taşınmanın kalıcı olduğunu bildirir.

PowerShell ile hızlı içe aktarma (opsiyonel)

Çok sayıda sunucuda işi otomatikleştirmek isterseniz PFX'i PowerShell ile de aktarabilirsiniz:

$pwd = ConvertTo-SecureString -String "PFX_SIFRENIZ" -AsPlainText -Force
Import-PfxCertificate -FilePath "C:\certs\certificate.pfx" `
  -CertStoreLocation Cert:\LocalMachine\My -Password $pwd

Sık karşılaşılan sorunlar

  • "The password you entered is incorrect": İndirme ekranındaki PFX şifresini birebir kullandığınızdan emin olun; baş/son boşluklara dikkat edin.
  • Binding listesinde sertifika görünmüyor: İçe aktarımı Personal/My deposuna yaptığınızı kontrol edin.
  • SNI çakışması: Aynı IP'de birden çok HTTPS sitesi varsa her biri için SNI host adı tanımlayın.

Özet

IIS'te SSL kurulumu, şifreli certificate.pfx dosyasını içe aktarıp 443 portunda binding tanımlamaktan ibarettir. PFX'iniz yoksa ücretsiz SSL sihirbazımız ile sertifikanızı oluşturun; ZIP içindeki certificate.pfx ve gösterilen şifreyle bu adımları izleyin.