SSL Sertifikası ve ServBay CA Sorun Giderme
Bu doküman, ServBay yerel geliştirme ortamında SSL sertifikaları ve ServBay CA ile ilgili sık karşılaşılan sorunları ve bunların çözüm yollarını sunar.
Tarayıcıda SSL sertifikası güvenilmez uyarısı alırsam ne yapmalıyım?
ServBay ile barındırılan yerel bir siteyi tarayıcıda açmaya çalıştığınızda aşağıdaki uyarı türlerinden biriyle karşılaşıyorsanız, genellikle SSL sertifikası ayarınızda bir sorun 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
(Daha az görülür, fakat sertifika ile alan adı eşleşmiyorsa ortaya çıkabilir)
- Firefox:
Warning: Potential Security Risk Ahead
(Uyarı: Olası Güvenlik Riski!)- "Gelişmiş"e tıkladığınızda
SEC_ERROR_UNKNOWN_ISSUER
kodu görünebilir - Hata kodu
SSL_ERROR_BAD_CERT_DOMAIN
(Sertifika alan adıyla 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” sitesinin kimliğini doğrulayamadı)
Bu sorunun en yaygın nedeni, ServBay User CA
ve ServBay Public CA
kök sertifikalarının doğru şekilde yüklenmemiş ve güvenilmemiş olmasıdır. Bunun sebebi şu olabilir:
- ServBay kök sertifikası sistemin güven listesine eklenmemiştir.
- Daha önce MAMP / Laravel Herd gibi başka yerel geliştirme araçlarında aynı alan adını (ör.
myapp.test
) kullanmışsınızdır ve bu araçların sertifikası ile ServBay’in sertifikası çakışıyor olabilir ya da bu araçların sertifika sistemi bozulmuş olabilir. Sonuç olarak tarayıcı yanlış sertifika veya güven bilgisini önbelleğe alabilir.
Çözüm
Şu adımları izleyin:
- ServBay uygulamasını 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) butonuna tıklayın. ServBay kök sertifika yükleme ve güven sorunlarını otomatik çözmeye çalışacaktır.
- Tarayıcınızı tamamen kapatıp tekrar açın (tüm pencere ve işlemlerin kapandığından emin olun; böylece SSL durumu önbelleği sıfırlanır).
- Sitenizi tekrar ziyaret edin. Bu aşamada SSL sertifika hatası giderilmiş olmalı.
Sorun devam ederse:
Genellikle, sistemde eski, çakışan veya geçersiz sertifikalar bulunduğu anlamına gelir. Özellikle aynı alan adı için daha önce başka araçlarla (MAMP veya Herd gibi) sertifika oluşturduysanız.
- Sisteminizin sertifika yönetim aracını açın:
- macOS: Anahtar Zinciri Erişimi (Keychain Access) uygulamasını açın (Uygulamalar > Araçlar altında bulabilirsiniz).
- Windows: Win+R tuşlarına basıp
certmgr.msc
yazın ve Enter’a basarak Sertifika Yöneticisini açın.
- Sağ üstteki arama kutusuna, sorun yaşayan alan adını (ör.
myapp.test
) veya emin değilsenizmamp
veyaherd
gibi anahtar kelimeleri girerek ilgili sertifika otoritesini bulun. - Üstteki “Tür” filtresinde Sertifikalar (Certificates) seçeneğini seçin.
- Arama sonuçlarında, girdiğiniz alan adıyla ilgili tüm SSL sertifikalarını bulun. Özellikle “Veren (Issuer)” kısmında
ServBay User CA
,MAMP Development CA
,Laravel Herd CA
veya benzer adlara dikkat edin. - Sorunlu olan alan adıyla ilgili, özellikle
ServBay User CA
tarafından verilmemiş veya şüpheli görünen sertifikaları seçip Delete tuşuna basarak silin. Sistem parolanızı girmeniz gerekebilir. Dikkatli olun; yalnızca yerel geliştirme alan adınızla ilgili sertifikaları silin! - (İsteğe bağlı ama önerilir) Anahtar Zinciri Erişimi’nde
ServBay User CA
veServBay Public CA
için arama yaparak sertifikaların mevcut ve üzerinde kırmızı “x” olmadığından (yani güvensiz) emin olun. Eğer güvenli değilse (kırmızı “x” varsa), sertifikaya çift tıklayıp “Güven” kısmını genişletin ve “Bu sertifika kullanılırken” ayarını “Her Zaman Güven” olarak seçin. - ServBay uygulamasına geri dönün.
- Ayarlar (Settings) -> ServBay Root CA kısmına gidin.
- Tüm ServBay Kullanıcı Sertifikalarını Yeniden Oluştur (Recreate All ServBay User Certificates) butonuna tıklayın. Bu işlem, ServBay tarafından yönetilen tüm siteler için yeni SSL sertifikalarını yeniden oluşturur.
- Bilgisayarınızı yeniden başlatın. Tüm hizmet ve sistem bileşenlerinin en yeni sertifika ve güven ayarlarını yüklemesi için gereklidir.
- Tarayıcınızı yeniden açın ve sitenizi tekrar ziyaret edin.
Bu tip yaygın hata mesajlarıyla kullanıcılar SSL sertifika güven sorunlarını daha hızlı tanıyıp uygun çözümü bulabilirler.
SSL Sertifikası Kaybolursa Ne Yapmalısınız?
ServBay ile yerel web sitesi geliştirirken siteye ait SSL sertifika dosyaları bazen yanlışlıkla silinebilir. Bu durumda web sunucunuz (Nginx, Caddy veya Apache gibi) başlatılamayabilir veya siteyi doğru şekilde yükleyemeyebilir, sertifika dosyasıyla ilgili hata mesajları loglarda çıkabilir.
Sorunun Tanımı
ServBay, siteniz için otomatik olarak oluşturduğu SSL sertifika dosyalarını (.crt
ve .key
) kaybederse, web sunucusu hata günlüklerinde aşağıdaki gibi mesajlar görebilirsiniz. Bunlar sunucunun, sertifika dosya yolunu bulamadığını veya okuyamadığını gösterir.
Bazı yaygın hata örnekleri:
Nginx hata örneği:
log
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
1
2
2
Caddy hata örneği:
log
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
1
Apache hata örneği:
log
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
1
2
2
Bu hata mesajlarının ortak anlamı: Web sunucu yapılandırmasında belirtilen SSL sertifikası dosya yolu geçersiz, çünkü dosya yok veya erişilemiyor.
Çözüm
ServBay’in yerel siteler için otomatik oluşturduğu SSL sertifikasında kayıp yaşanırsa, ServBay bunu otomatik algılayıp yeni sertifika oluşturmanıza yardımcı olan bir mekanizma sunar.
Şu adımları uygulayın:
- ServBay uygulamasını başlatın: ServBay'in açık olduğundan emin olun.
- Site listesini açın: Sol menüden Siteler bölümüne tıklayın.
- Sorunlu siteyi seçin: Sertifika kaybı yaşanan sitenizi bulun ve seçin.
- Otomatik algılama ve oluşturma: ServBay site ayarlarınız yüklenirken ihtiyaç duyulan SSL sertifikası dosyasının olup olmadığını kontrol eder. Eğer sertifika kayıp (örn.
.crt
veya.key
dosyası eksikse) ise, ServBay otomatik olarak yeni sertifika oluşturup uygun dizine (/Applications/ServBay/ssl/private/tls-certs/alanadınız/
) yerleştirir. - Web sunucusunu yeniden başlatın: Sertifika dosyaları başarıyla oluşturulup yerleştirildikten sonra, sitenize hizmet veren web sunucu paketini (Nginx, Caddy veya Apache gibi) yeniden başlatın. Sol menüde Yazılımlar sayfasına giderek kullandığınız web sunucusunun yanında duran yeniden başlatma (döngü ok) butonuna tıklayın.
- Çözümün doğrulanması: Sunucu yeniden başlatıldıktan sonra, tarayıcıda HTTPS üzerinden sitenizi ziyaret edin (örn.
https://alanadınız
). Sorun çözülmeli ve siteye HTTPS ile güvenli bağlantı sağlanmalıdır.
Dikkat Edilecekler
- Bu çözüm yalnızca ServBay’in otomatik oluşturduğu yerel site SSL sertifikaları için geçerlidir. Kendi özel sertifikanızı yüklediyseniz ve kaybettiyseniz ServBay bunu otomatik olarak oluşturmaz; sertifikanızı manuel olarak geri yüklemeniz veya yenisini alıp yüklemeniz gerekir.
- ServBay, yerel siteler için sertifikalarını kendi dahili ServBay User CA ile imzalar. Tarayıcıda yerel HTTPS siteye erişirken hâlâ sertifika güvenilmez uyarısı alıyorsanız, ServBay User CA'nın sistem veya tarayıcı tarafından güvenilmemesi olasıdır. ServBay CA'ya güvenme dokümanını inceleyin.
- ServBay; site yapılandırması ve SSL sertifikalarını kapsayan yedekleme fonksiyonları sunar. Düzenli yedekleme yapmak, olası veri kaybı durumlarında hızlıca geri dönmenizi sağlar.
Sıkça Sorulan Sorular (SSS)
S: ServBay neden yerel siteler için otomatik SSL sertifikası oluşturuyor?
C: ServBay'in amacı, eksiksiz bir yerel geliştirme ortamı sunmak. Gerçek üretim ortamını taklit ederek geliştiricilerin HTTPS uygulamalarını kolayca test edebilmeleri için, dahili ServBay User CA sayesinde yerel siteleriniz için otomatik SSL sertifikası oluşturur ve yerel HTTPS erişimini sağlar.
S: Kendi aldığım SSL sertifikasını kullanabilir miyim?
C: Evet, ServBay kendi SSL sertifikalarınızı (ACME / Let's Encrypt ile alınanlar dahil) içe aktarmanızı ve kullanmanızı destekler. Bu dokümandaki sorun giderme adımları yalnızca ServBay’in otomatik oluşturduğu sertifikalar için geçerlidir.
S: Sertifikayı yeniden oluşturmak güvenli mi?
C: Evet; yerel geliştirme ortamı için, ServBay User CA ile imzalanmış sertifikalar sadece yerel geliştirme ve test amacıyla üretilir. İnternetteki gerçek sitenizin güvenliğini etkilemez.
Özet
ServBay, yerel geliştirme ortamı SSL sertifikalarını yönetmek için kullanışlı bir mekanizma sunar. ServBay'in otomatik oluşturduğu yerel site SSL sertifikalarınız kaybolduğunda, birkaç basit adımda ServBay kayıp sertifikayı algılayıp yeni sertifika oluşturabilir ve yerel sitenizin HTTPS erişimini hızla eski haline getirebilirsiniz.