SSL Sertifikası ve ServBay CA Sorun Giderme
Bu doküman, ServBay yerel geliştirme ortamında SSL sertifikası ve ServBay CA ile ilgili yaygın sorunların ve çözüm yollarının özetini sunar.
Tarayıcıda SSL sertifikası güvenilmez uyarısını neden alıyorum?
ServBay üzerinden barındırılan bir yerel web sitesine tarayıcıdan erişirken aşağıdakine benzer uyarılar görüyorsanız, genellikle SSL sertifikası konfigürasyonunda bir hata vardır:
- Chrome / Edge:
Your connection is not private
(Bağlantınız gizli değil)- Hata kodu
NET::ERR_CERT_AUTHORITY_INVALID
- Hata kodu
NET::ERR_CERT_COMMON_NAME_INVALID
(Nadir olsa da, sertifika alan adıyla eşleşmiyorsa çıkabilir)
- Firefox:
Warning: Potential Security Risk Ahead
(Uyarı: Potansiyel Güvenlik Riski Var)- "Gelişmiş" seçildikten sonra
SEC_ERROR_UNKNOWN_ISSUER
hata kodu görülebilir SSL_ERROR_BAD_CERT_DOMAIN
hata kodu (sertifika ile alan adı eşleşmiyorsa)
- Safari:
This Connection Is Not Private
(Bu Bağlantı Gizli Değil)Safari can't verify the identity of the website "your-domain.test"
(Safari, "[alan-adınız.test]" web sitesinin kimliğini doğrulayamıyor)
Bu sorunun en yaygın nedeni, ServBay User CA
ve ServBay Public CA
kök sertifikalarının doğru kurulmaması veya güvenilmemesidir. Bunun başlıca sebepleri:
- ServBay'in kök sertifikası sistemin güven listesine eklenmemiştir.
- Daha önce MAMP / Laravel Herd gibi başka yerel geliştirme ortamlarında aynı alan adını (örneğin
myapp.test
) kullandınız ve bu araçların oluşturduğu sertifikalar ile ServBay’in sertifikaları çakıştı ya da kendi sertifika sistemlerinde bir sorun oluştu. Bu, tarayıcıda hatalı güven bilgileri veya sertifika önbelleğe alınmasına bazı durumlarda yol açabilir.
Çözüm
Aşağıdaki adımları uygulayın:
- ServBay’i açın
- Ayarlar (Settings) bölümüne gidin ve ServBay Root CA kısmını bulun.
- ServBay Root CA'yı Yeniden Yükle (Reinstall ServBay Root CA) seçeneğine tıklayın. ServBay, kök sertifikanın yüklenmesi ve güvenilmesiyle ilgili sorunları otomatik olarak gidermeye çalışacaktır.
- Tarayıcınızın tüm pencerelerini ve işlemlerini tamamen kapatıp yeniden açın (önbelleğe alınan SSL durumu temizlenecektir).
- Web sitenizi tekrar ziyaret edin. SSL sertifikası hatası düzelmiş olmalı.
Sorun devam ederse:
Genellikle sisteminizde eski, çakışan ya da geçersiz sertifikalar var demektir. Özellikle daha önce aynı alan adıyla (örn. MAMP veya Herd kullanarak) farklı araçlar ile sertifika oluşturduysanız.
- macOS'ta Anahtar Zinciri Erişimi (Keychain Access) uygulamasını açın (“Uygulamalar” > “Yardımcı Programlar” kısmında bulabilirsiniz).
- Sağ üst arama kutusuna sorunlu alan adını yazın (örn.
myapp.test
). Emin değilseniz,mamp
veyaherd
gibi anahtar kelimelerle de arama yaparak ilgili sertifika otoritelerini bulabilirsiniz. - Üstteki “Tür” filtresinden Sertifikalar (Certificates) seçin.
- Arama sonuçlarında girdiğiniz alan adıyla ilgili tüm SSL sertifikalarını bulun. Özellikle düzenleyici (Issuer) olarak
ServBay User CA
,MAMP Development CA
,Laravel Herd CA
veya benzeri isimlere dikkat edin. - Tespit ettiğiniz ve sorunlu alan adıyla ilişkili olan, özellikle
ServBay User CA
tarafından verilmemiş ya da şüpheli görünen sertifikaları seçip, Sil tuşuna basarak silin. Sistem şifresi isteyebilir. Dikkatli olun ve yalnızca yerel geliştirme alan adlarınızla ilgili sertifikaları silin. - (İsteğe bağlı, önerilir) Anahtar Zinciri Erişimi’nde
ServBay User CA
veServBay Public CA
için tekrar arama yapın, sertifikaların bulunup bulunmadığına ve simgelerinde kırmızı “x” olmadığından emin olun (kırmızı x, güvensiz olduğuna işarettir). Eğer güvenilmiyorsa, sertifikayı çift tıklayın, “Güven (Trust)” kısmını genişletin ve “Bu sertifika kullanılırken (When using this certificate)” seçeneğini “Her Zaman Güven (Always Trust)” olarak ayarlayın. - ServBay uygulamasına geri dönün.
- Ayarlar (Settings) -> ServBay Root CA yolunu izleyin.
- Tüm ServBay User Sertifikalarını Yeniden Oluştur (Recreate All ServBay User Certificates) seçeneğine tıklayın. Bu işlem, ServBay’in yönettiği tüm siteler için yeni SSL sertifikaları oluşturacaktır.
- Mac bilgisayarınızı yeniden başlatın. Böylece tüm servisler ve sistem bileşenleri en son sertifikayı ve güven ayarlarını yükler.
- Tarayıcınızı yeniden açın ve web sitenizi tekrar ziyaret edin.
Bu yaygın hata mesajlarını ekleyerek, kullanıcıların yaşadıkları sorunun SSL sertifikası güveniyle ilişkili olup olmadığını daha hızlı saptaması ve doğrudan ilgili çözüme erişmesi kolaylaşacaktır.
SSL Sertifikası Kaybolursa Ne Yapmalı?
ServBay ile yerel web sitesi geliştirirken bazen SSL sertifikası dosyalarının yanlışlıkla silinmesi/kaybolması gibi durumlarla karşılaşabilirsiniz. Bu durumda web sunucunuz (Nginx, Caddy veya Apache gibi) başlatılamaz veya web siteleri normal şekilde yüklenmez. Sistem günlüklerinde genelde sertifika dosyasıyla ilgili hata kayıtları görürsünüz.
Sorunun Tanımı
ServBay’in otomatik oluşturduğu SSL sertifika dosyaları (.crt
ve .key
) silinirse, web sunucularının hata günlüklerinde genellikle benzeri mesajlar yer alır. Bu tür hatalar, sunucunun belirtilen sertifika dosyasına erişemediğini ya da dosyanın bulunamadığını gösterir.
Başlıca hata mesajı örnekleri:
Nginx hata mesajı:
nginx: [emerg] cannot load certificate "/Applications/ServBay/ssl/private/tls-certs/servb3ay.host/servbay.host.crt": BIO_new_file() failed (SSL: error:80000002:system library::No such file or directory:calling fopen(/Applications/ServBay/ssl/private/tls-certs/servb3ay.host/servbay.host.crt, r) error:10000080:BIO routines::no such file)
nginx: configuration file /Applications/ServBay/package/etc/nginx/nginx.conf test failed
2
Caddy hata mesajı:
Error: loading http app module: provision http: getting tls app: loading tls app module: provision tls: loading certificates: open /Applications/ServBay/ssl/private/tls-certs/servbay.host/ser3vbay.host.crt: no such file or directory
Apache hata mesajı:
AH00526: Syntax error on line 15 of /Applications/ServBay/package/etc/apache/vhosts/servbay.host.conf:
SSLCertificateFile: file '/Applications/ServBay/ssl/pri3vate/tls-certs/servbay.host/servbay.host.crt' does not exist or is empty
2
Bu uyarıların temel anlamı aynıdır: Web sunucu yapılandırmasında tanımlanan SSL sertifikası yolu geçersiz, çünkü dosya yok ya da erişilemiyor.
Çözüm
ServBay’in otomatik olarak yerel web siteleri için oluşturduğu SSL sertifikaları için, platform içerisinde pratik bir otomatik tespit ve yeniden üretim mekanizması bulunur.
Şu adımları izleyin:
- ServBay uygulamasını başlatın: ServBay’in açık ve çalışır olduğuna emin olun.
- Web Sitesi Listesine gidin: Sol taraftaki menüden Siteler‘e tıklayın.
- Etkilenen siteyi seçin: Sertifika kaybı yaşayan web sitesini listeden bulun ve üzerine tıklayın.
- Otomatik tespit & yeni sertifika üretimi: ServBay site yapılandırmasını yüklerken gerekli SSL dosyalarının varlığını kontrol eder. Dosyalar eksik (
.crt
ya da.key
yoksa), ServBay otomatik olarak yeni sertifika üretip, ilgili klasöre yerleştirir (/Applications/ServBay/ssl/private/tls-certs/alan-adınız/
). - Web sunucusunu yeniden başlatın: Sertifika dosyaları başarıyla oluşturulup aktarıldıktan sonra, ilgili web sunucu yazılımını (Nginx, Caddy veya Apache gibi) yeniden başlatmanız gereklidir. Sol menüden Paketler sayfasına gidin, kullandığınız web sunucunun adını bulun ve yanındaki yeniden başlatma ikonuna (genellikle dairesel ok simgesi) tıklayın.
- Çözümü doğrulayın: Web sunucusu başarılı şekilde yeniden başlatıldığında, tarayıcıdan HTTPS ile (ör.
https://alan-adınız
) erişim sağlayın. Sorununuz çözülmeli ve web siteniz HTTPS ile düzgün açılmalıdır.
Dikkat Edilmesi Gerekenler
- Bu çözüm yalnızca ServBay’in otomatik oluşturduğu SSL sertifikaları için geçerlidir. Kendi yüklediğiniz özel SSL sertifikaları kaybolursa, ServBay onları otomatik olarak yenilemez; kaybolan/bozulan dosyaları geri yüklemek ya da tekrar almak ve içe aktarmak tamamen sizin sorumluluğunuzdadır.
- ServBay, yerel siteler için kendi gömülü ServBay User CA sertifikasını kullanır. Tarayıcınızda yerel HTTPS sitesini açarken halen sertifika güvenilmez uyarısı alıyorsanız, bunun nedeni ServBay User CA'nın macOS veya tarayıcıda güvenilmemesi olabilir. Konuyla ilgili ServBay CA’ya Güven dökümanını inceleyiniz.
- ServBay, web sitesi yapılandırmaları ve SSL sertifikalarını dahil ederek veri yedekleme fonksiyonu sunar. Dosya kayıplarına karşı düzenli yedekleme, veri kurtarma sürecinizi hızlandırır.
Sıkça Sorulan Sorular (SSS)
S: ServBay neden otomatik olarak yerel web sitelerine SSL sertifikası üretir?
C: ServBay’in amacı, eksiksiz bir yerel geliştirme ortamı sunmaktır. Prodüksiyon ortamını simüle etmek ve geliştiricinin HTTPS ile debug yapmasını kolaylaştırmak için, oluşturduğunuz yerel sitelere yerleşik ServBay User CA ile otomatik sertifika oluşturur.
S: Kendi temin ettiğim SSL sertifikasını kullanabilir miyim?
C: Evet, ServBay kendi SSL sertifikanızı (ör. ACME / Let’s Encrypt ile alınanlar dahil) içe aktarmanızı ve kullanmanızı destekler. Bu sorun giderme rehberi yalnızca ServBay’in otomatik oluşturduğu sertifikalar için geçerlidir.
S: Sertifika yeniden üretimi güvenli midir?
C: Evet; yerel geliştirme ortamı için ServBay, kendi ServBay User CA’sı ile imzalı yeni sertifika oluşturur, sadece kendi bilgisayarınızdaki geliştirme ve test işlemlerinizde kullanmanıza yöneliktir. Bu, web sitenizin internetteki güvenliğini etkilemez.
Özet
ServBay, yerel geliştirme ortamındaki SSL sertifikalarını idare etmek için kullanışlı mekanizmalara sahiptir. ServBay’in otomatik ürettiği yerel site SSL sertifikası kazara silinirse, birkaç basit adımla ServBay bunu kendi başına tespit edip yeni sertifika üretir ve HTTPS üzerinden sitenize kesintisiz erişimi hızla geri sağlar.