Web Hosting ve cPanel 9 dk okuma

cPanel SSL Kurulumu: AutoSSL (Let's Encrypt) ve HTTPS Yönlendirme Rehberi

cPanel'de AutoSSL ile ücretsiz Let's Encrypt sertifikası kurma, sertifika oluşmama nedenleri, HTTPS'ye Zorla anahtarı ve .htaccess ile 301 yönlendirme, karışık içerik (mixed content) çözümü.

cPanel SSL Kurulumu: AutoSSL (Let's Encrypt) ve HTTPS Yönlendirme Rehberi
AnkSOFT
Yayıncı

Tarayıcının adres çubuğunda "Güvenli değil" yazan bir site, ziyaretçinin formu doldurmadan, sepeti tamamlamadan çıkıp gitmesi için yeterli bir nedendir. SSL sertifikası bu uyarıyı kaldırır, sitenizle ziyaretçi arasındaki trafiği şifreler ve arama motorları için de temel bir güven sinyalidir. İyi haber: cPanel'li hosting paketlerinde SSL için ödeme yapmanız ya da sertifika dosyası yüklemeniz gerekmez. AutoSSL, Let's Encrypt sertifikasını alan adlarınız için kendiliğinden alır ve süresi dolmadan yeniler.

Bu rehberde cPanel SSL kurulumunu adım adım anlatıyoruz: AutoSSL'in nasıl çalıştığı, sertifika durumunu kontrol etme, sertifika neden oluşmuyor, HTTP'den HTTPS'ye yönlendirme (cPanel anahtarı ve .htaccess ile) ve HTTPS'e geçtikten sonra en sık görülen sorun olan karışık içerik (mixed content). Görseller temsilîdir; örnek alan adı ornek.com.


1. AutoSSL ve Let's Encrypt Nedir?

Let's Encrypt, ücretsiz ve tarayıcıların tamamının tanıdığı bir sertifika otoritesidir. Sertifikaları kısa ömürlüdür; bu yüzden elle yenilemek pratik değildir.

AutoSSL ise cPanel'in bu işi sizin yerinize yapan özelliğidir. Düzenli aralıklarla hesabınızdaki alan adlarını tarar; sertifikası olmayan ya da süresi dolmak üzere olan her ad için Let's Encrypt'ten yeni sertifika alır ve kurar. AnkSOFT web hosting ve reseller hosting sunucularında AutoSSL sağlayıcısı Let's Encrypt'tir.

AutoSSL tek bir alan adını değil, onunla birlikte kullanılan alt adları da kapsar:

  • ornek.com ve www.ornek.com
  • mail.ornek.com ve webmail.ornek.com (e-posta programlarında sertifika uyarısı çıkmaması için)
  • cpanel.ornek.com gibi hizmet alt alan adları
  • cPanel'de eklediğiniz ek alan adları ve alt alan adları (örneğin blog.ornek.com)

Sertifika alınabilmesi için tek şart, bu adların DNS'te hosting sunucunuzu göstermesidir. Let's Encrypt, sertifika vermeden önce alan adının gerçekten size ait sunucuda olduğunu doğrular (alan adı doğrulaması).


2. SSL Sertifika Durumunu Kontrol Etme

  1. Müşteri panelinizden cPanel'e Giriş Yap düğmesiyle cPanel'e girin.
  2. Güvenlik bölümünde SSL/TLS Durumu (SSL/TLS Status) simgesine tıklayın.
  3. Listede her alan adının yanında sertifika durumu görünür.

cPanel SSL/TLS Durumu sayfası

  • Yeşil kilit, "AutoSSL Etki Alanı Doğrulandı": Sertifika kurulu, bitiş tarihi yanında yazar. Bir şey yapmanız gerekmez; yenileme otomatiktir.
  • Kırmızı uyarı, "Doğrulama başarısız": Bu ad için sertifika alınamadı. Yanındaki açıklama nedeni söyler; çoğunlukla DNS'in başka bir IP'yi göstermesidir (aşağıdaki tabloya bakın).
  • Sertifika yok / kendinden imzalı: AutoSSL henüz bu ad için çalışmadı. Alan adı yeni eklendiyse birkaç saat bekleyin ya da elle başlatın.

AutoSSL'i elle çalıştırma

Alan adını yeni yönlendirdiyseniz ya da DNS hatasını düzelttiyseniz otomatik taramayı beklemeniz gerekmez. Aynı sayfadaki AutoSSL'i Çalıştır (Run AutoSSL) düğmesine basın. İşlem birkaç dakika sürer; bitince sayfayı yenileyin.

Bir alt alan adını bilerek kapsam dışında bıraktıysanız (örneğin başka bir sunucuda çalışan test.ornek.com), satırı seçip AutoSSL'den hariç tut diyebilirsiniz. Hariç tutulan ad için AutoSSL her seferinde hata vermeyi bırakır.


3. SSL Sertifikası Neden Oluşmuyor?

SSL/TLS Durumu'nda gördüğünüz Olası neden Ne yapmalı
"DNS bu sunucuyu göstermiyor" / farklı bir IP A kaydı eski sunucuyu ya da başka bir hizmeti gösteriyor A kaydına hosting hizmet detaylarındaki IP'yi yazın, yönlendirme rehberine bakın
Alan adı hiç çözülmüyor Nameserver değişikliği yayılmadı ya da alt alan adının DNS kaydı yok 24-48 saat bekleyin; alt alan adı için A kaydı ekleyin
www doğrulanıyor, ana ad doğrulanmıyor (ya da tersi) İki addan biri farklı yere gidiyor Her iki adın da aynı IP'yi gösterdiğinden emin olun
IPv6 (AAAA) kaydıyla ilgili hata Alan adında başka bir sunucuyu gösteren AAAA kaydı var Hosting sunucusuna ait olmayan AAAA kaydını silin
Doğrulama dosyasına erişilemiyor (403/404) .htaccess kuralları ya da güvenlik eklentisi /.well-known/ klasörünü engelliyor Bu klasörü engelleyen kuralı kaldırın
CAA kaydı hatası Alan adının CAA kaydı Let's Encrypt'e izin vermiyor CAA kaydına letsencrypt.org ekleyin ya da kaydı kaldırın
Proxy/CDN arkasındaki alan adı DNS kaydı proxy açık şekilde başka IP'ye çözülüyor Doğrulama süresince proxy'yi kapatın ya da proxy tarafındaki SSL'i "Tam (Full)" moda alın

Nedeni düzelttikten sonra AutoSSL'i Çalıştır düğmesine tekrar basın.


4. HTTP'den HTTPS'ye Yönlendirme

Sertifika kurulduktan sonra siteniz hem http:// hem https:// adresinden açılır. Ziyaretçilerin ve arama motorlarının her zaman güvenli adresi görmesi için HTTP isteklerini kalıcı (301) olarak HTTPS'ye yönlendirmelisiniz. İki yol var; birini seçin, ikisini birden kullanmanıza gerek yok.

Yöntem A: cPanel "HTTPS'ye Zorla" anahtarı (en kolay)

  1. cPanel'de Alan Adları (Domains) bölümüne girin.
  2. Alan adınızın satırındaki HTTPS'ye Zorla (Force HTTPS Redirect) anahtarını açın.

cPanel Alan Adları sayfasında HTTPS'ye Zorla anahtarı

Anahtar yalnızca alan adının geçerli bir sertifikası varken açılabilir. Sertifika yoksa önce 2. ve 3. bölümdeki adımlarla sorunu giderin. Bu yöntem dosyalara dokunmaz, geri almak için anahtarı kapatmanız yeterlidir.

Yöntem B: .htaccess ile yönlendirme

Yönlendirmeyi kendiniz kontrol etmek istiyorsanız (örneğin yalnızca belirli bir klasör için ya da www'yu da tek adrese toplamak için) .htaccess dosyasını kullanın:

  1. cPanel'de Dosya Yöneticisi'ni açın, public_html klasörüne girin.
  2. Sağ üstteki Ayarlar düğmesinden Gizli dosyaları göster seçeneğini işaretleyin; .htaccess dosyası görünür.
  3. Dosyaya sağ tıklayıp önce İndir deyin (yedek), sonra Düzenle deyin.
  4. Dosyanın en üstüne aşağıdaki satırları ekleyip kaydedin.
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

.htaccess dosyasında HTTPS yönlendirme kuralı

Tüm adresleri www'suz tek bir HTTPS adresine toplamak istiyorsanız şu sürümü kullanın:

RewriteEngine On
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} ^www\.ornek\.com$ [NC]
RewriteRule ^ https://ornek.com%{REQUEST_URI} [L,R=301]

WordPress kullanıyorsanız bu satırlar # BEGIN WordPress bloğunun üstünde kalmalıdır; WordPress kendi bloğunun içini kalıcı bağlantı ayarını kaydettiğinizde yeniden yazar.

Test: Tarayıcıda http://ornek.com/iletisim gibi bir alt sayfa açın. Adres https://ornek.com/iletisim olarak değişmeli ve aynı sayfa açılmalıdır. Ana sayfaya atıyorsa kuraldaki %{REQUEST_URI} kısmını kontrol edin.

"Çok fazla yönlendirme" hatası

ERR_TOO_MANY_REDIRECTS görüyorsanız yönlendirme iki yerden birden yapılıyor ya da birbirini iptal ediyordur. En sık nedenler:

  • Hem cPanel anahtarı hem .htaccess kuralı açık ve biri www'ya, diğeri www'suz adrese gönderiyor. Birini kapatın.
  • Alan adınız bir proxy/CDN hizmetinin arkasında ve oradaki SSL modu "Esnek (Flexible)". Proxy sunucuya HTTP ile gelir, sunucu HTTPS'ye yönlendirir, döngü başlar. Proxy tarafındaki modu Tam (Full) yapın.
  • WordPress'te Ayarlar > Genel bölümündeki adresler http:// ile kalmış. Bir sonraki bölüme bakın.

5. WordPress'i HTTPS'ye Geçirme

Yönlendirme açıldıktan sonra WordPress'in kendi adresini de güncelleyin:

  1. WordPress yönetim paneline girin: Ayarlar > Genel.
  2. WordPress Adresi (URL) ve Site Adresi (URL) alanlarındaki http:// kısmını https:// yapın ve kaydedin. Oturumunuz kapanırsa yeniden giriş yapın.

Bu adım yeni sayfalar için yeterlidir. Ama eski yazılarınızdaki görseller, tema ayarlarındaki logo ve sayfa oluşturucuların kaydettiği bağlantılar veritabanında hâlâ http://ornek.com/... olarak durur. Bu da karışık içerik sorununa yol açar.


6. Karışık İçerik (Mixed Content) Nasıl Düzeltilir?

Karışık içerik, sayfanın kendisi HTTPS ile açıldığı hâlde içindeki bir görselin, betiğin ya da stil dosyasının http:// adresinden yüklenmesidir. Sonuç: adres çubuğunda kilit yerine uyarı simgesi, bazı durumlarda bozuk menüler ya da çalışmayan düğmeler.

Tarayıcı konsolunda Mixed Content uyarıları

Sorunlu dosyayı bulma

  1. Sayfayı Chrome ya da Edge'de açın, F12 tuşuna basın.
  2. Console sekmesinde "Mixed Content" ile başlayan satırları okuyun. Her satır, http:// ile yüklenen dosyanın tam adresini söyler.
  3. Görseller için tarayıcılar çoğunlukla isteği kendiliğinden HTTPS'ye yükseltir ve yalnızca uyarı verir. Betik ve stil dosyaları ise engellenir; menü ya da slayt çalışmıyorsa nedeni budur.

Düzeltme yolları

  • Veritabanındaki eski adresleri değiştirin. WordPress'te bir "arama ve değiştir" eklentisiyle http://ornek.com ifadesini https://ornek.com olarak değiştirin. Bu işlemi yapmadan önce mutlaka veritabanı yedeği alın; nasıl yapılacağını cPanel yedek alma rehberimizde anlattık. phpMyAdmin'de elle UPDATE sorgusu yazmayın: WordPress bazı ayarları serileştirilmiş biçimde saklar ve düz metin değişikliği bu verileri bozabilir.
  • Tema ve eklenti ayarlarını kontrol edin. Logo, arka plan görseli ya da özel CSS alanına elle yazılmış http:// adresleri olabilir.
  • Harici kaynakları kontrol edin. Başka bir siteden http:// ile çağrılan yazı tipi, harita ya da sayaç kodları varsa adreslerini https:// yapın. Kaynak HTTPS desteklemiyorsa o kodu kaldırmanız gerekir.
  • Geçici güvenlik ağı: .htaccess dosyasına aşağıdaki satırı eklerseniz tarayıcı sayfadaki tüm http:// isteklerini HTTPS'ye yükseltmeyi dener. Bu satır kalıcı çözüm değildir; HTTPS desteklemeyen bir kaynak varsa o kaynak yine yüklenmez.
Header always set Content-Security-Policy "upgrade-insecure-requests"

Düzeltmelerden sonra tarayıcı önbelleğini temizleyip (Ctrl + F5) sayfayı yeniden açın. LiteSpeed Cache ya da benzeri bir önbellek eklentisi kullanıyorsanız önbelleği de temizleyin; aksi hâlde eski HTML sunulmaya devam eder.


7. Ücretli SSL Sertifikası Gerekir mi?

Çoğu site için gerekmez. Let's Encrypt sertifikası, ücretli alan adı doğrulamalı (DV) sertifikalarla aynı şifrelemeyi sağlar ve tarayıcılarda aynı kilidi gösterir. Ücretli sertifika genellikle şu durumlarda tercih edilir: şirket bilgilerinin doğrulandığı kurum doğrulamalı (OV/EV) sertifika gereken projeler, bir kurumun ya da bankanın ödeme entegrasyonunda belirli bir sertifika türünü şart koşması ya da tüm alt alan adlarını tek sertifikayla kapsayan joker (wildcard) sertifika ihtiyacı.

Ücretli bir sertifikanız varsa cPanel'de Güvenlik > SSL/TLS > Bir Site için SSL Yükle ve Yönet bölümünden sertifika, özel anahtar ve ara sertifika (CA bundle) dosyalarını yükleyebilirsiniz. Elle kurulan sertifikanın yenilenmesi sizin sorumluluğunuzdadır; süresi dolmadan yenisini yüklemeyi unutmayın.


En Sık Yapılan Hatalar

  1. DNS yönlendirmesi tamamlanmadan SSL beklemek. Alan adı sunucuyu göstermeden sertifika alınamaz. Önce nslookup ornek.com ile IP'yi kontrol edin.
  2. Yönlendirmeyi iki yerden birden yapmak. cPanel anahtarı ile .htaccess kuralı çakışırsa "çok fazla yönlendirme" hatası alırsınız.
  3. .htaccess'i yedeksiz düzenlemek. Bir yazım hatası tüm siteyi "500 Internal Server Error" ile kapatır. Önce dosyayı indirin; hata olursa eski hâlini geri yükleyin.
  4. WordPress adreslerini güncellememek. Ayarlar > Genel'deki adresler http:// kalırsa yönlendirme döngüsü ya da karışık içerik oluşur.
  5. Veritabanını yedeksiz toplu değiştirmek. Arama-değiştir işleminden önce mutlaka veritabanı yedeği alın.
  6. Başka sunucudaki alt alan adını hariç tutmamak. Başka yerde çalışan bir alt alan adı AutoSSL'de sürekli hata gösterir; hariç tutun.

Özet

  1. AutoSSL, Let's Encrypt sertifikasını otomatik alır ve yeniler; ücret ve dosya yükleme gerekmez.
  2. Durumu Güvenlik > SSL/TLS Durumu sayfasından izleyin, gerekirse AutoSSL'i Çalıştır deyin.
  3. Sertifika oluşmuyorsa nedeni neredeyse her zaman DNS'tir: A, AAAA ve CAA kayıtlarını kontrol edin.
  4. HTTPS yönlendirmesi için cPanel Alan Adları > HTTPS'ye Zorla anahtarını ya da .htaccess kuralını kullanın; ikisini birden değil.
  5. WordPress'te Ayarlar > Genel adreslerini https:// yapın, karışık içeriği F12 > Console'dan bulup veritabanında düzeltin.

Ücretsiz SSL'in otomatik kurulduğu cPanel paketleri için web hosting sayfamıza, müşterilerinizin tüm alan adlarında otomatik sertifika için reseller hosting paketlerimize göz atabilirsiniz. Alan adınıza özel e-postayı da güvenli bağlantıyla kurmak için cPanel mail kurulumu rehberimize bakın. Sertifikanız hâlâ oluşmuyorsa destek talebi açıp alan adınızı ve SSL/TLS Durumu sayfasındaki hata mesajını iletin.


Kaynaklar

Sıkça Sorulan Sorular

cPanel'de SSL sertifikası ücretli mi?

Hayır. AutoSSL, Let's Encrypt sertifikasını alan adlarınız için otomatik alır ve süresi dolmadan yeniler. Ücret ödemeniz ya da dosya yüklemeniz gerekmez.

AutoSSL sertifikası neden oluşmuyor?

En sık neden alan adının ya da www kaydının DNS'te hosting sunucusunu göstermemesidir. Başka sunucuyu gösteren AAAA kaydı, /.well-known klasörünü engelleyen .htaccess kuralı ve Let's Encrypt'e izin vermeyen CAA kaydı da sertifikayı engeller. Düzelttikten sonra SSL/TLS Durumu sayfasında AutoSSL'i Çalıştır deyin.

cPanel'de HTTP'den HTTPS'ye nasıl yönlendirme yapılır?

cPanel > Alan Adları sayfasında HTTPS'ye Zorla anahtarını açın ya da public_html içindeki .htaccess dosyasının en üstüne RewriteCond %{HTTPS} !=on ve RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] satırlarını ekleyin. İkisini birden kullanmayın.

Too many redirects (çok fazla yönlendirme) hatası neden olur?

Yönlendirme iki yerden birden yapıldığında, proxy/CDN hizmetinde SSL modu Esnek (Flexible) olduğunda ya da WordPress Ayarlar > Genel adresleri http ile kaldığında oluşur.

Mixed content (karışık içerik) nasıl düzeltilir?

F12 > Console'daki Mixed Content satırları hangi dosyanın http ile yüklendiğini gösterir. WordPress'te veritabanı yedeği aldıktan sonra bir arama-değiştir eklentisiyle http://alanadiniz.com adreslerini https:// yapın; tema ve harici kodlardaki adresleri de güncelleyin.

TR| EN