İçeriğe geç

Ürün belgeleriSSL sertifikaları

SSL sertifika hatalarını ve HTTPS uyarılarını düzeltin

Sitenizdeki HTTPS uyarılarını düzeltin: ad uyuşmazlığı, süresi dolmuş ya da güvenilmeyen sertifika, eksik zincir, protokol hatası, döngü ve karışık içerik.

  • Orta
  • 15 dk okuma
  • Güncellendi
Bu sayfada
  1. 1. adım: Sunucunun gönderdiği sertifikaya bakın
  2. 2. adım: Hatayı nedeniyle eşleştirin
  3. Kullandığınız her adı kapsayın
  4. Tam zinciri kurun
  5. Cloudflare ile yönlendirme döngüleri
  6. Sertifika sorunsuz ama kilit simgesi yok
  7. Sorun giderme
  8. Sonraki adımlar

HTTPS başarısız olduğunda tarayıcı bir hata koduyla tam sayfa bir uyarı gösterir. Bu kod neyin yanlış olduğunu söyler. Bu rehber, sunucunuzun gerçekte gönderdiği sertifikayı nasıl okuyacağınızı ve hostingde ve kendi sunucunuzda en yaygın nedenleri nasıl düzelteceğinizi gösterir.

1. adım: Sunucunun gönderdiği sertifikaya bakın

Siteyi gizli bir pencerede açın, adresin yanındaki site bilgilerine tıklayın ve sertifikayı görüntüleyin. Ya da bir terminalden kontrol edin:

Bash
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -subject -issuer -dates -ext subjectAltName

Üç şeyi not alın: subjectAltName içindeki adlar, tarihler (notBefore, notAfter) ve veren (issuer). Zinciri kontrol etmek için openssl s_client komutunu -showcerts ile çalıştırın ve sonda Verify return code: 0 (ok) satırını arayın:

Bash
echo | openssl s_client -connect example.com:443 -servername example.com -showcerts 2>/dev/null | grep -E "s:|i:|Verify return code"

2. adım: Hatayı nedeniyle eşleştirin

Chrome hatasıNedenÇözüm
NET::ERR_CERT_COMMON_NAME_INVALIDAçtığınız ad sertifikada yok; örneğin example.com sertifikasında www.example.com ya da sunucu başka bir sitenin sertifikasını gönderiyorKullandığınız her adı kapsayın (aşağıya bakın); kendi sunucunuzda HTTPS sitesinin server_name / ServerName / IIS ana bilgisayar adını kontrol edin
NET::ERR_CERT_DATE_INVALIDSertifikanın süresi dolmuş veya henüz geçerli değil ya da ziyaretçinin saati yanlışYenileyin ve yeni sertifikayı kurun; otomatik yenilemeyi kontrol edin; cihaz saatini kontrol edin
NET::ERR_CERT_AUTHORITY_INVALIDSertifika kendinden imzalı (örneğin bir panelin geçici sertifikası) veya ara sertifika zinciri eksikHerkese açık bir otoriteden alınmış sertifikayı tam zinciriyle kurun
ERR_SSL_PROTOCOL_ERROR veya ERR_SSL_VERSION_OR_CIPHER_MISMATCH443 numaralı port TLS'i düzgün sunmuyor: bağlı sertifika yok, 443'te düz HTTP var veya yalnızca eski protokoller açıkSertifikayı HTTPS sitesine bağlayın; TLS 1.2 ve TLS 1.3'e izin verin
ERR_TOO_MANY_REDIRECTSİki kural ziyaretçiyi HTTP ile HTTPS arasında (veya www ile çıplak alan adı arasında) gidip getiriyorTek bir yönlendirme kuralı bırakın; aşağıdaki Cloudflare bölümüne bakın

Diğer tarayıcılar kendi kodlarıyla benzer mesajlar gösterir; nedenler aynıdır.

Kullandığınız her adı kapsayın

  • Hosting: ücretsiz sertifika, hesabınızda bulunan ve hesabı gösteren alan adlarını ve alt alan adlarını, genellikle www ile birlikte kapsar. Eksik alt alan adlarını panelde ekleyin ve DNS'lerinin hostingi gösterdiğinden emin olun; bkz. ücretsiz SSL'i açma ve HTTPS'e zorlama.
  • Ücretli sertifika: hem example.com hem www.example.com adını kapsayan bir sertifika ya da çok sayıda alt alan adı için bir wildcard alın; bkz. SSL sertifikası sipariş etme, doğrulama ve kurma.
  • IP adresiyle açılan sunucu: herkese açık sertifikalar alan adları için verilir. Siteyi adıyla açın.

Tam zinciri kurun

Sunucu sizin sertifikanızı ve ara sertifikaları göndermelidir. nginx'te ssl_certificate tam zinciri (önce sizin sertifikanız, sonra CA paketi) göstermelidir. Apache 2.4.8 ve sonrasında SSLCertificateFile da tam zinciri içerebilir. Hosting panellerinde sertifikayı elle kurarken CA paketini kendi alanına yapıştırın.

Doğrulama: openssl s_client çıktısı Verify return code: 0 (ok) ile biter.

Cloudflare ile yönlendirme döngüleri

Alan adı Cloudflare üzerinden çalışıyorsa SSL/TLS şifreleme modunu kontrol edin:

  • Flexible istekleri sunucunuza düz HTTP ile gönderir. Sunucunuz da HTTP'yi HTTPS'e yönlendiriyorsa ziyaretçi döngüye girer. Sunucuda sertifika olduğunda Full veya Full (strict) moduna geçin ya da sunucunun yönlendirmesini kaldırın.
  • Always Use HTTPS açıkken HTTPS'i yeniden HTTP'ye gönderen bir sunucu kuralı da döngü oluşturur. O kuralı kaldırın.

Bkz. Cloudflare kurulumu.

Sertifika sorunsuz ama kilit simgesi yok

Sayfa bazı görselleri, betikleri veya stilleri http:// ile yüklüyor. Buna karışık içerik denir: tarayıcılar güvensiz betikleri engeller, diğer güvensiz dosyaları engelleyebilir veya HTTPS'e yükseltebilir. Adresleriyle birlikte Mixed Content mesajlarını görmek için geliştirici araçlarını (F12) ve Console sekmesini açın. Bu bağlantıları sitenizde, temanızda veya veritabanınızda https:// (ya da göreli bağlantı) olarak değiştirin. WordPress için bkz. ücretsiz SSL'i açma ve HTTPS'e zorlama.

Sorun giderme

Yeni sertifika kurulu ama tarayıcı hâlâ eskisini gösteriyor. Web sunucusu yeniden yüklenmedi, sertifika başka bir siteye gitti ya da Cloudflare kendi uç sertifikasını sunuyor. Servisi yeniden yükleyin, bağlamayı kontrol edin ve openssl s_client ile karşılaştırın.

Uyarıyı yalnızca bazı ziyaretçiler görüyor. Cihaz saatleri yanlış, yazılımları çok eski veya ağları HTTPS'i inceliyor. Hata kodunun ekran görüntüsünü isteyin.

Uyarıyı geçemiyorsunuz. Site daha önce HSTS gönderdi; bu yüzden tarayıcılar geçerli bir sertifika ister. Sertifikayı düzeltin; sorun sürerken HSTS'i kapatmaya çalışmayın.

Sonraki adımlar

Sık sorulan sorular

Uyarı yalnızca benim bilgisayarımda çıkıyor. Neden?

Önce cihazınızın tarih ve saatini kontrol edin: yanlış bir saat geçerli sertifikaları süresi dolmuş gibi gösterir. HTTPS'i inceleyen bir antivirüs yazılımı veya araya giren bir ağ da her sitede uyarıya neden olabilir.

Ziyaretçilere uyarıyı geçmelerini söyleyebilir miyim?

Hayır. Uyarı onları korur ve HSTS gönderen sitelerde tarayıcılar uyarıyı geçme yolu sunmaz. Bunun yerine sertifikayı düzeltin.

Site neden www ile çalışıyor da www olmadan çalışmıyor (ya da tersi)?

Sertifika iki addan yalnızca birini kapsıyor. İkisini de listeleyen bir sertifika alın veya ikisi de kapsandıktan sonra bir adı diğerine yönlendirin.

Sunucunun hangi sertifikayı gönderdiğini nasıl görürüm?

Tarayıcınızda adresin yanındaki site bilgilerini açıp sertifikayı görüntüleyin ya da bu rehberde gösterildiği gibi openssl s_client kullanın.

Şifre Oluştur

Lütfen onaylayın