Sertifika hatası alıyorum; nasıl teşhis ederim?
Kısa cevap
Teşhis, tarayıcının verdiği tam hata kodunu ya da curl -v çıktısını almakla başlar; kod hatayı süresi dolmuş, ad uyuşmazlığı, güvenilmeyen zincir ya da TLS sürümü veya şifre uyumsuzluğu sınıflarından birine yerleştirir. Ardından openssl s_client -servername ile TR7'nin gerçekte hangi sertifikayı sunduğu görülür ve vService formundaki Certificate alanıyla karşılaştırılır; SNI hiçbir sertifikayla eşleşmezse listedeki ilk sertifika sunulur. Sertifikanın süresi ve zinciri SSL/TLS Certificates ekranında kontrol edilir. Protokol hatası alınıyorsa vService'e sertifika seçilmemiş olabilir; hata yalnızca Kurum Servisine bağlanırken oluşuyorsa Kurum Servisinin SSL Service ayarları incelenir.
Sorun: Tarayıcı Sertifika Uyarısı Veriyor
Kullanıcılar tarayıcıda sertifika uyarısı görüyor ya da bağlantı TLS aşamasında kesiliyor. Hatanın süreden mi, ad uyuşmazlığından mı, eksik zincirden mi, yoksa TLS ayarlarından mı kaynaklandığı belirlenip doğru ayar düzeltilmelidir. TR7, vService'te seçili sertifikayı olduğu gibi sunar: süresi dolmuş ya da zinciri eksik bir sertifika da sunulur ve tarayıcı uyarısına yol açar.
Nereden İzlenir?
| Ekran | Yol | Ne gösterir |
|---|---|---|
| SSL/TLS Certificates listesi | Certificates & PKI → SSL/TLS Certificates | Valid until sütunu ve Expiry Health filtresi (Valid, Expiring Soon, Expired, No Certificate) |
| Chain sekmesi | Sertifika önizlemesi | Zincirdeki eksik halka |
| ACME.sh sekmesi | Sertifika önizlemesi (ACME.SH türü) | Son yenileme kaydı |
| Used in sekmesi | Sertifika önizlemesi | Sertifikanın seçili olduğu vService'ler |
Çözüm: Üç Yöntem
Yöntemler sırayla uygulanır: önce hata sınıflandırılır, sonra TR7'nin sunduğu sertifika vService'teki seçimle karşılaştırılır, en son sertifika kaydı incelenir.
| Durumunuz | Uygun yöntem |
|---|---|
| Hatayı sınıflandırmak | Yöntem 1: Hata kodu |
| TR7'nin sunduğu sertifikayı görmek | Yöntem 2: openssl ve vService Certificate alanı |
| Sertifika kaydını incelemek | Yöntem 3: SSL/TLS Certificates |
Yöntem 1: Hata Kodu Önerilen
- Nasıl çalışır Tarayıcının ya da curl'ün verdiği hata kodu hatanın sınıfını belirler.
- Nerede açılır İstemci
- Gereksinim Ek bir ayar gerekmez.
- vService tipi HTTP
Adım adım yapılandırma
Tarayıcının gelişmiş hata ekranındaki kod ya da istemciden curl -v https://www.example.com/ çıktısı alınır.
Olası nedenlerin tamamı: Tarayıcı "sertifika güvenilir değil" diyor; olası nedenler nelerdir?
Doğrulama
Düzeltmeden sonra istemciden curl -v https://www.example.com/ yeniden çalıştırılır.
SSL certificate verify ok.Yöntem 2: openssl ve vService Certificate Alanı
- Nasıl çalışır openssl TR7'nin o alan adı için sunduğu sertifikayı gösterir; vService'in Certificate alanıyla karşılaştırılınca eksik sertifika ya da yanlış sıra ortaya çıkar. Certificate alanı vService'in bütün şifreli frontend'leri için geçerlidir.
- Nerede açılır İstemci · vService formu → Certificate
- Gereksinim openssl kurulu bir istemci.
- vService tipi HTTP
Adım adım yapılandırma
İstemciden alan adı SNI olarak gönderilerek sunulan sertifika okunur:
openssl s_client -connect 192.0.2.10:443 -servername www.example.com </dev/null | openssl x509 -noout -subject -issuer -dates -ext subjectAltName-servername olmadan yapılan test listedeki ilk sertifikayı getirir; vService Virtual Hosting kullanıyorsa bağlantı kapatılır.
Load Balancer → Load Balancer vService List ekranında vService seçilir ve Edit butonuna tıklanır. Virtual Hosting kullanılıyorsa alan adını karşılayan vService açılır (Aynı IP:443 üzerinde farklı domainler için farklı sertifika sunabilir miyim (SNI)?).
Certificate alanında alan adını kapsayan sertifikanın seçili olduğu ve SNI göndermeyen istemciler için sunulacak sertifikanın listede ilk sırada olduğu kontrol edilir. Alan, vService'te en az bir şifreli frontend tanımlıyken görünür.
Değişiklik yapıldıysa Save butonuna tıklanır.
Doğrulama
openssl komutu yeniden çalıştırılır.
subjectAltName alan adını içerir; notAfter ileri bir tarihYöntem 3: SSL/TLS Certificates
- Nasıl çalışır Sertifika kaydı geçerlilik tarihlerini, zinciri ve ACME yenileme geçmişini gösterir.
- Nerede açılırCertificates & PKI → SSL/TLS Certificates
- Gereksinim Ek bir ayar gerekmez.
- vService tipi HTTP
Adım adım yapılandırma
Certificates & PKI → SSL/TLS Certificates ekranında Expiry Health filtresiyle süresi dolmuş (Expired) ve 30 günden az kalmış (Expiring Soon) sertifikalar ayrılır (Süresi dolmuş veya dolmak üzere olan sertifikaları nasıl filtrelerim (Expiry Health)?).
Sertifika seçilir; önizlemede Details sekmesinde tarihler, Chain sekmesinde zincirdeki eksik halka, ACME ile alınmışsa ACME.sh sekmesinde son yenileme kaydı okunur (Sertifika zincirinin eksik olduğunu nasıl anlarım?).
Hata tarayıcıda değil de 502 ya da 503 olarak görünüyorsa sorun TR7'nin Kurum Servisine kurduğu TLS bağlantısındadır: Kurum Servisinin SSL Service, Certificate Verification ve SNI ayarları ile önizlemedeki Health Checks sekmesinde Certificate error metni incelenir (Backend'e HTTPS ile bağlanırken backend sertifikasını doğrulayabilir miyim?).
Doğrulama
Valid until sütunu ile Details ve Chain sekmelerine bakılır.
Valid; zincir kök sertifikaya kadar tamSık Yapılan Hatalar
-servernameolmadan test etmek. SNI gönderilmeyince listedeki ilk sertifika gelir; Virtual Hosting'de ise bağlantı kapatılır.- Güven hatası ile protokol hatasını karıştırmak. TLS sürümü uyumsuzluğu ve sertifika seçilmemiş şifreli frontend ayrı sınıflardır.
- Yeni sertifikayı ayrı kayıt olarak ekleyip vService'te değiştirmeyi unutmak. Mevcut kayıt güncellenirse vService'lerdeki seçim korunur (Sertifikayı yenilediğimde vService'lerde tek tek değiştirmem gerekir mi?).
- Virtual Hosting'de yanlış vService'e bakmak. Alan adını karşılayan vService'in Certificate alanı kontrol edilir.
- Sorun sürüyorsa bilgi toplamadan destek istemek. Destek kaydına eklenecekler: TR7 destek ekibine başvurmadan önce hangi bilgileri toplamalıyım?
Dokümantasyonda nasıl yapılır
