ServBay’de Üçüncü Taraf Kuruluşlardan Alınan SSL Sertifikasını Kullanmak
Üretim ortamını taklit ederek yerel geliştirme ve test gerçekleştirirken, güvenilir bir üçüncü taraf sertifika otoritesi (CA) tarafından imzalanmış bir SSL sertifikası kullanmak, sitenizin HTTPS üzerinden güvenli şekilde erişilmesini sağlar. Bu, özellikle HTTPS’e bağımlı özelliklerin test edilmesi veya yerel ortam ile canlı ortam arasında maksimum tutarlılık sağlanması açısından kritik önem taşır. Bu yazıda, ServBay yerel web geliştirme ortamında üçüncü taraf biri tarafından imzalanmış SSL sertifikasının nasıl yapılandırılacağı adım adım anlatılmaktadır.
WARNING
Lütfen unutmayın: Üçüncü taraf CA’lardan alınan SSL sertifikaları genellikle yalnızca standart alan adı uzantılarını (ör. .com
, .org
, .net
, .cn
vb.) destekler ve .local, .test, .demo gibi özel, standart olmayan uzantıları kabul etmezler. Bu tür alan adları herkese açık olarak doğrulanamaz. Eğer yerel geliştirme için standart dışı bir uzantı kullanıyorsanız, güvenilir yerel SSL sertifikaları oluşturmak için ServBay’in dahili “ServBay User CA” veya “ServBay Public CA” özelliklerini kullanmayı düşünmelisiniz.
Kullanım Senaryoları
- Canlı Ortam Simülasyonu: Üretim ortamındaki HTTPS yapılandırmasını birebir taklit edin ve sitenizin HTTPS altındaki davranışlarını test edin.
- HTTPS’e Bağımlı Özellikleri Test Etme: Service Workers, Web Crypto API, Konum gibi güvenli bağlam gerektiren (Secure Context) tarayıcı API’ları veya özelliklerini test edin.
- Yerel API Geliştirme: Yerel çalışan arka uç API’ları için HTTPS yapılandırarak, ön uç tarafının güvenli isteklerle API’lara ulaşmasını kolaylaştırın.
Ön Koşullar
Başlamadan önce aşağıdaki koşulları sağladığınızdan emin olun:
- macOS üzerine ServBay’i kurup çalıştırmış olmalı.
- Terminal ve komut satırı işlemlerine temel düzeyde aşina olmalı.
- Sistemde OpenSSL aracı kurulu olmalı (macOS’ta genellikle varsayılan olarak gelir).
Adım 1: Üçüncü Taraf SSL Sertifikası Başvurusu
İlk olarak, güvenilir bir üçüncü taraf CA'dan (örn. Let's Encrypt, DigiCert, GlobalSign, Sectigo gibi) bir SSL sertifikası almalısınız. Sertifika başvurusu için ihtiyaç duyulacak aşamaların başında Sertifika İmzalama Talebi (CSR) hazırlanması gelir.
Özel Anahtar (Private Key) Oluşturun
Özel anahtar, SSL ile şifrelenen trafiğin sunucunuzda çözülmesini sağlayan gizli dosyadır ve dikkatlice saklanmalı, kimseyle paylaşılmamalıdır. Terminalde aşağıdaki OpenSSL komutunu çalıştırarak bir RSA özel anahtarı oluşturabilirsiniz:
shopenssl genpkey -algorithm RSA -out servbay.demo.key -pkeyopt rsa_keygen_bits:2048
1openssl genpkey
: Açık anahtar (private key) oluşturan OpenSSL komutudur.-algorithm RSA
: Anahtar algoritmasını RSA olarak belirler.-out servbay.demo.key
: Çıktı dosya adı olarakservbay.demo.key
belirlenir.-pkeyopt rsa_keygen_bits:2048
: RSA anahtar uzunluğunu 2048 bit olarak ayarlar. Çoğu kullanım için önerilen en kısa uzunluktur.
Sertifika İmzalama Talebi (CSR) Oluşturun
CSR, genel anahtarınız ve sertifika almak için gereken bilgileri içerir. Bu dosyayı CA’ya sunmanız gerekir. Bir önceki adımda oluşturulan özel anahtarla CSR oluşturun:
shopenssl req -new -key servbay.demo.key -out servbay.demo.csr
1openssl req
: CSR işlemlerini yürüten OpenSSL komutu.-new
: Yeni bir CSR oluşturur.-key servbay.demo.key
: İmza için kullanılacak özel anahtar.-out servbay.demo.csr
: Çıkış CSR dosyası.
Bu komutu çalıştırınca sizden bir dizi bilgi girmeniz istenecek. Bu kısımları kendi bilgilerinize veya CA'nın mevcut gereksinimlerine göre doldurmalısınız. Bir örnek ve açıklamaları:
Country Name (2 letter code) [AU]:CN # Ülke kodu, ör: CN (Çin), US (ABD) State or Province Name (full name) [Some-State]:Hong Kong # İl/eyalet adı Locality Name (eg, city) []:Kowloon # Şehir adı Organization Name (eg, company) [Internet Widgits Pty Ltd]:ServBay # Organizasyon/şirket adı Organizational Unit Name (eg, section) []:Development # Organizasyon birimi (isteğe bağlı) Common Name (e.g. server FQDN or YOUR name) []:servbay.demo # **En Önemlisi: Sertifika için başvurduğunuz tam alan adını (FQDN) girin.** Email Address []:[email protected] # İletişim e-postası (isteğe bağlı) Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: # Challenge şifresi (genellikle boş bırakılır) An optional company name []: # Ek şirket adı (genellikle boş bırakılır)
1
2
3
4
5
6
7
8
9
10
11
12Common Name
alanına, ServBay’de kullanacağınız alan adını (ör.servbay.demo
) eksiksiz girdiğinizden emin olun. Birden fazla alan adı için (çoklu alan adı/SAN sertifikaları), CA başvuru sürecinde ek alan adlarını belirtebilirsiniz; temel CSR oluşturma adımı benzerdir ya da bazı CA'lar SAN içeren CSR oluşturabilmeniz için çevrimiçi araçlar da sunar.CSR’ı Gönderme ve Sertifika Alma
Oluşturduğunuz
servbay.demo.csr
dosyasını CA'nın web sitesine yükleyin veya içerik olarak yapıştırın. Alan adı sahipliğini doğrulama (genellikle DNS kaydı, HTTP dosyası veya e-posta ile) adımlarını tamamlayın. Doğrulama sonrası CA size aşağıdaki dosyaları iletecektir:- Ana sertifikanız (ör.
servbay.demo.crt
veyaservbay.demo.pem
). - Bir veya birden fazla ara sertifika dosyası (sertifika zinciri için, ör.
intermediate.crt
,ca-bundle.crt
). - Kök sertifika (genellikle ayrıca kurmanız gerekmez, çoğu tarayıcı/sistem bu kökleri zaten içerir).
- Ana sertifikanız (ör.
Adım 2: ServBay'de Üçüncü Taraf SSL Sertifikasını Yapılandırma
Üçüncü taraf CA’dan sertifikaları aldıktan sonra, bunları ServBay’e aktarıp yapılandırarak web sitenizi HTTPS ile sunabilirsiniz.
ServBay, özel sertifika ve anahtar dosyalarının /Applications/ServBay/ssl/import/tls-certs/
klasöründe saklanmasını önerir; bu, yönetimi kolaylaştırır.
Sertifika ve Anahtar Dosyalarını Belirtilen Klasöre Taşıyın
İlk adımda oluşturulan özel anahtar (
servbay.demo.key
), CA’dan aldığınız ana sertifika (servbay.demo.crt
) ve ara sertifikaları (ör.intermediate.crt
) ServBay’in ilgili klasörüne taşıyın:shmv servbay.demo.key /Applications/ServBay/ssl/import/tls-certs/ mv servbay.demo.crt /Applications/ServBay/ssl/import/tls-certs/ # Eğer ara sertifika dosyanız varsa onu da taşıyın mv intermediate.crt /Applications/ServBay/ssl/import/tls-certs/ # Eğer başka ara sertifikalarınız varsa onları da taşıyın # mv another_intermediate.crt /Applications/ServBay/ssl/import/tls-certs/
1
2
3
4
5
6Ara Sertifikaları Ana Sertifika Dosyası ile Birleştirin
Tarayıcıların sertifika zincirini tam olarak doğrulayabilmesi için, tüm ara sertifikaların içeriğini ana sertifika dosyanızın sonuna eklemelisiniz. Zincir sırası genellikle ana sertifikadan başlar, ardından tüm ara sertifikalar gelir, kök sertifika ise genellikle dosyada yer almaz (çünkü tarayıcı/sistem onu zaten tanır). CA size zincir sırası ile ilgili genellikle bilgi verir; bu sıraya uygun olarak tüm ara sertifikaları ana dosyanın sonuna ekleyin.
Örneğin, tek ara sertifika dosyanız varsa:
shcat intermediate.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt
1Birden çok ara sertifika sırasıyla eklenecekse örneğin
intermediate1.crt
ve ardındanintermediate2.crt
:shcat intermediate1.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt cat intermediate2.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt
1
2Birleştirme sonrası,
servbay.demo.crt
dosyanız ana sertifikayı ve tam zinciri içermeli.ServBay Yönetim Panelini Açın
ServBay uygulamasını başlatın ve menü ya da Dock’taki ServBay simgesinden yönetim panelini açın.
Web Sitesi Ekleyin veya Düzenleyin
Yönetim panelinin solundaki gezinme menüsünden
Web Sitesi
ni seçin.- Yeni bir site kurmak için sağ üstteki
+
simgesine tıklayın. - Mevcut bir siteye sertifika eklemek için ilgili alanı seçin ve düzenle (kalem simgesi) butonuna tıklayın.
- Yeni bir site kurmak için sağ üstteki
SSL Sertifikasını Yapılandırın
Site yapılandırma ekranında, SSL bölümünde farklı sertifika türlerinden birini seçebilirsiniz.
Custom
(Özel) seçeneğini seçin.- Certificate Key File (Sertifika Özel Anahtar Dosyası): Gözat butonuna tıklayın,
/Applications/ServBay/ssl/import/tls-certs/
klasörüne gidin ve içe aktardığınız anahtar dosyasını (ör.servbay.demo.key
) seçin. - Certificate File (Sertifika Dosyası): Gözat butonuna tıklayın, aynı klasöre gidin ve ara sertifikalar ile birleştirilmiş ana sertifika dosyasını (ör.
servbay.demo.crt
) seçin.
(Not: Resim yolu örnektir, gerçek dokümantasyon sitesine göre güncelleyebilirsiniz)
- Certificate Key File (Sertifika Özel Anahtar Dosyası): Gözat butonuna tıklayın,
Alan Adı ve Web Sitesi Kök Dizini Ayarlayın
Web sitesi konfigürasyonunda,
Domain
(Alan Adı) alanına sertifika alırken kullandığınız alan adını (ör.servbay.demo
) mutlaka eksiksiz yazın. Ayrıca, web sitenizinDocument Root
(Kök Dizini) bilgisini de (ör./Applications/ServBay/www/servbay.demo
) belirtin.Kaydedip Yapılandırmayı Uygulayın
Tüm ayarları tamamladıktan sonra kaydet butonuna tıklayın. ServBay sizden değişiklikleri uygulayıp ilgili web sunucusunu (ör. Caddy, Nginx veya Apache) yeniden başlatmanızı isteyecektir. Uygulamayı onaylayın.
Ayarları Doğrulama
Ayarları tamamladıktan sonra, tarayıcıdan sitenizi (ör. https://servbay.demo
) ziyaret edebilirsiniz. Her şey doğru yapılandırılmışsa tarayıcı adres çubuğunda bir kilit simgesi göreceksiniz; bu simgeye tıklayarak detayları inceleyin. Doğru CA sertifikası kullanılmış ve zincir eksiksizse burada görebilirsiniz.
Sorun yaşarsanız aşağıdakileri kontrol edin:
- Alan adınız sertifikanın Common Name veya SAN kısmıyla örtüşüyor mu?
- Anahtar ve sertifika dosyası yolları doğru mu?
- Sertifika dosyası, tam zinciri içeriyor ve sırası doğru mu?
- ServBay’deki web sitesi yapılandırması kaydedildi ve uygulandı mı?
- Sisteminiz sertifikayı imzalayan kök CA’yi güvenilir olarak işaretlemiş mi? (Genellikle büyük CA’ların kökleri sisteme gömülüdür.)
Dikkat Edilmesi Gerekenler
- Alan Adı Eşleşmesi: İçe aktardığınız sertifika, ServBay’de tanımladığınız web sitesi alan adıyla tamamen eşleşmeli (wildcard sertifika ise alt domainler dahil).
- Sertifika Geçerlilik Süresi: Üçüncü taraf sertifikaların bir süresi vardır. Süre bitmeden önce yenileyip yukarıdaki adımlarla ServBay’deki sertifikayı güncellemelisiniz.
- Özel Anahtar Güvenliği: Özel anahtar dosyası (
.key
) çok hassastır, asla paylaşmayın ve güvenli bir şekilde saklayın. - ServBay’in Sağladığı Alternatif SSL Seçenekleri: ServBay, SSL sertifikası için başka pratik yöntemler de sunar.
- ServBay User CA / Public CA: Keyfi alan adı uzantıları için güvenilir yerel geliştirme sertifikaları üretir.
- ACME (Let's Encrypt): Standart alan adları için, ServBay’in entegre ACME istemcisi ile Let's Encrypt sertifikalarını otomatik şekilde alıp yenileyebilirsiniz. Bu yazıdaki “kendiniz içe aktarma” yöntemi, başka kanallardan aldığınız üçüncü taraf sertifikalar için uygundur.
Sıkça Sorulan Sorular (SSS)
S1: .pfx
veya .p12
formatında bir sertifika dosyam var, ServBay’de nasıl kullanabilirim?
C1: .pfx
veya .p12
dosyaları genellikle özel anahtar ve sertifika zincirini birlikte içerir. OpenSSL ile bunu ayrı özel anahtar (.key
) ve sertifika (.crt
) dosyalarına dönüştürmelisiniz. Örn:
sh
openssl pkcs12 -in your_certificate.pfx -nocerts -out your_private_key.key -nodes
openssl pkcs12 -in your_certificate.pfx -clcerts -nokeys -out your_certificate.crt
1
2
2
Dönüştürdükten sonra, gerekirse CA’nın sağladığı ara sertifika dosyalarını alıp yukarıdaki ikinci adımda anlatıldığı şekilde .crt
dosyanıza eklemelisiniz.
S2: Tüm adımları uyguladım ama tarayıcı hala "Güvensiz bağlantı" uyarısı veriyor, neden?
C2: Lütfen şunları gözden geçirin:
- Alan adı eşleşmesi: Tarayıcıda açtığınız alan adı sertifikadakiyle aynı mı?
- Sertifika zinciri tam mı: İçe aktardığınız
.crt
dosyası tüm ara sertifikaları içeriyor ve doğru sırada mı? Çevrimiçi SSL test araçlarıyla zinciri kontrol edebilirsiniz. - ServBay yeniden başlatıldı mı: Uygulama yapılandırmayı uygulayıp web sunucusunu gerçekten yeniden başlattı mı?
- Tarayıcı önbelleği: Tarayıcı önbelleğini temizleyin veya gizli modda tekrar deneyin.
- Sistem güveni: Sertifikayı imzalayan kök CA’nın sisteminizde güvenli olarak işaretlendiğinden emin olun.
Sonuç
Bu rehberdeki adımları izleyerek, ServBay yerel geliştirme ortamınızda başarılı şekilde üçüncü taraf CA’lardan alınan SSL sertifikalarını yapılandırıp kullanabilirsiniz. Böylece üretim ortamını daha doğru simüle ederek, yerel geliştirme ve test süreciniz çok daha verimli hale gelir. ServBay’in sunduğu ACME veya dahili CA gibi farklı (ve genellikle daha pratik) SSL seçenekleri olsa da, üçüncü taraf sertifika içe aktarma yöntemine hakim olmak; belirli ihtiyaçlara veya mevcut sertifika migrasyonuna sahip geliştiriciler için büyük kolaylık sunar.