Kısa Cevap: Bu sorun, Apache sunucunuzda Sectigo ara
sertifika zincirinin eski mobil cihazların ve tarayıcıların beklediği şekilde eksiksiz veya doğru sırada yapılandırılmamasından kaynaklanıyor.
çözüm için
SSLCertificateChainFile yönergesini doğru ara sertifika paketiyle güncelleyip Apache'yi yeniden başlatmalısın.
Anlattığın durum tam da beklediğimiz bir senaryo. ssl Labs’ten A+ almanız, sunucunun sertifikayı ve zinciri genel olarak doğru sunduğunu gösterir, ancak bu testler her zaman en eski veya en özel istemci konfigürasyonlarını simüle etmeyebilir. Özellikle eski android ve bazı iPhone modellerinde yaşanan ‘Güvenli Değil’ uyarısı, neredeyse kesinlikle Ara sertifika zincirinin eksik veya yanlış sırada yapılandırılmasından kaynaklanır.
Eski cihazlar ve tarayıcılar, güven zincirini oluşturmak için sunucudan gelen her ara sertifikaya ihtiyaç duyar. Kendi kök sertifika depoları güncel olmadığı için, sunucunun onlara tüm yolu göstermesi gerekir. Sectigo gibi sertifika otoriteleri, sana genellikle alan adına özel sertifikanın yanı sıra bir de Ca-bundle.crt veya benzeri bir isimle ara sertifikaları içeren bir dosya gönderir. Bu dosyanın içinde birden fazla BEGIN CERTIFICATE ve END CERTIFICATE bloğu bulunur ve bunlar genellikle doğru sırada (senin sertifikana en yakın olandan köke doğru) sıralanmıştır.
Apache yapılandırmanda bu paketi doğru bir şekilde belirtmen gerekiyor. Httpd.conf veya sitenin sanal host (VirtualHost) yapılandırma dosyasında (genellikle /etc/httpd/conf.d/ssl.conf ya da sitenin kendi .conf dosyası) aşağıdaki yönergeleri kontrol etmelisin:
SSLEngine on
SSLCertificateFile '/path/to/your_domain.crt'
SSLCertificateKeyFile '/path/to/your_private.key'
SSLCertificateChainFile '/path/to/your_ca_bundle.crt'
Burada en kritik nokta SSLCertificateChainFile yönergesidir. Bu yönergenin Sectigo'dan aldığın tüm ara sertifikaları içeren dosyayı (örneğin Ca-bundle.crt) işaret ettiğinden emin olmalısın. Bazı eski Apache sürümlerinde SSLCACertificateFile kullanılsa da, güncel ve zincir paketleri için SSLCertificateChainFile tercih edilir. Dosya yolunun doğru olduğundan ve Apache kullanıcısının bu dosyayı okuma iznine sahip olduğundan emin ol.
Bu dosyayı güncelledikten sonra Apache sunucunu yeniden başlatman şart. Komut genellikle şöyle olur:
Sudo systemctl restart httpd
Veya
Sudo service httpd restart
Yeniden başlattıktan sonra, sorunu yaşadığın mobil cihazlardan tekrar kontrol et. Ayrıca, üçüncü taraf bir SSL denetleyici aracı (örneğin, SSL Shopper's SSL Checker veya DigiCert SSL Installation Diagnostics Tool) kullanarak sertifika zincirinin tüm tarayıcılar için doğru şekilde sunulup sunulmadığını detaylıca kontrol edebilirsin. Bu araçlar genellikle eksik ara sertifikaları tespit etmede daha başarılıdır.
Kalıcı Çözüm İçin:
Bu tür sorunların tekrar etmemesi adına, SSL sertifikası kurulum ve yenileme süreçlerinde her zaman CA tarafından sağlanan Tüm ara sertifika paketini tek bir dosyada kullanarak SSLCertificateChainFile yönergesini doğru bir şekilde yapılandırdığından emin ol. Ayrıca, sunucu işletim sistemini ve Apache gibi web sunucusu yazılımlarını güncel tutarak, bilinen zafiyetleri ve uyumluluk sorunlarını önceden gidermiş olursun. Bu, özellikle eski cihazlarla uyumluluk konusunda kritik öneme sahiptir.