Bu kılavuz size Google App Engine üzerine SSL sertifikası kurmayı gösterir; hem modern yöntemle (App Engine’in herhangi bir özel alan adı için otomatik olarak sağladığı ve yenilediği ücretsiz Google tarafından yönetilen sertifika) hem de eski yöntemle (belirli bir CA, EV/OV sertifikası veya wildcard gerektiğinde kendi üçüncü taraf sertifikanızı yükleme). App Engine tamamen yönetilen bir PaaS’tır, dolayısıyla tüm bunlar Google Cloud Console’da veya gcloud CLI aracılığıyla gerçekleşir; hiçbir zaman bir sunucuya giriş yapmazsınız.
Ön Koşullar
Bir sertifika kurmadan önce aşağıdakilerin hazır olduğundan emin olun:
- Bir Google Cloud projesinde dağıtılmış bir App Engine uygulaması (standart veya esnek ortam).
- Kontrol ettiğiniz, DNS kayıtlarına erişiminiz olan kayıtlı bir alan adı.
- Alan adının Google Search Console veya Webmaster Central üzerinden Google hesabınız için doğrulanmış olması (App Engine sahiplik doğrulamasını buradan okur).
- Komut satırını Console’a tercih ediyorsanız, yüklenmiş ve kimliği doğrulanmış gcloud CLI.
- Projede Owner, Editor veya App Engine Admin rolü.
App Engine’de özel alan adları ve SSL şu sırayla çalışır: alan adını doğrulayın, uygulamanıza eşleyin, DNS’i App Engine’e yönlendirin, ardından Google’ın yönetilen bir sertifika sağlamasına izin verin veya kendi sertifikanızı yükleyin.
Seçenek 1: Ücretsiz Google yönetimli SSL (önerilen)
Google yönetimli sertifikalar ücretsizdir, Let’s Encrypt üzerinden otomatik olarak sağlanır ve alan adı eşlenmiş kaldığı sürece otomatik olarak yenilenir. Bu, App Engine’deki her yeni özel alan adı için varsayılan seçenektir ve sitelerin büyük çoğunluğu için doğru seçimdir. Yönetilen sertifikalar wildcard’ları desteklemez: her ana bilgisayar adı (örneğin example.com ve www.example.com) kendi sertifikasıyla kapsanır.
Adım 1: Alan adınızın sahipliğini doğrulayın
Tarayıcınızda, Cloud projesinin sahibi olan aynı Google hesabıyla Google Search Console‘a giriş yapın, alan adınızı bir mülk olarak ekleyin ve doğrulama yöntemlerinden birini tamamlayın (DNS TXT kaydı en güvenilir olanıdır). App Engine, doğrulamadığınız bir alan adını eşlemenize izin vermez.
Adım 2: Özel alan adını Console’da eşleyin
- Google Cloud Console‘u açın ve projenizi seçin.
- Gezinme menüsünden, App Engine > Settings‘i seçin.
- Custom Domains sekmesini açın ve Add a custom domain‘e tıklayın.
- Açılır listeden doğrulanmış alan adını seçin, ardından sunmak istediğiniz alt alan adlarını girin (tipik olarak kök alan adı example.com ve www.example.com).
- Save mappings‘e tıklayın, ardından DNS sağlayıcınızda önerilen A, AAAA ve CNAME kayıtlarını eklemek için ekrandaki talimatları izleyin.
Aynı işlemi komut satırından yapmak için şunu çalıştırın:
gcloud app domain-mappings create www.example.com --project=YOUR_PROJECT_ID
gcloud app domain-mappings create example.com --project=YOUR_PROJECT_ID
Adım 3: Yönetilen sertifikayı bekleyin
DNS yayıldıktan sonra, App Engine eşlenen her ana bilgisayar adı için otomatik olarak bir Let’s Encrypt sertifikası talep eder. Sağlama işlemi genellikle hızlıdır, ancak DNS yayılımı 24 saate kadar sürebilir. Durumu şu şekilde kontrol edin:
gcloud app domain-mappings list --project=YOUR_PROJECT_ID
Sertifika aktif olduğunda her eşleme MANAGED_CERTIFICATE_STATUS: OK SSL durumunu gösterir. Sertifika verilirken PROVISIONING veya PENDING_DNS göreceksiniz; bu durum genellikle DNS kayıtları Google IP’lerine çözümlendiğinde kendiliğinden düzelir.
Adım 4: Ziyaretçiler için HTTPS’yi zorunlu kılın (standart ortam)
App Engine standart ortamında, app.yaml içindeki her işleyiciye secure: always ekleyerek her isteği HTTPS’ye yönlendirin:
handlers:
- url: /.*
script: auto
secure: always
redirect_http_response_code: 301
Değişikliği gcloud app deploy ile dağıtın. Esnek ortamda, HTTP’den HTTPS’ye yönlendirmeyi uygulama veya yük dengeleyici düzeyinde ele alın.
Seçenek 2: Kendi üçüncü taraf SSL sertifikanızı yükleyin
Bir wildcard sertifikaya, belirli bir Sertifika Otoritesinden OV veya EV sertifikasına ya da alan adınız için zaten verilmiş bir sertifikaya ihtiyaç duyduğunuzda bu yolu seçin. App Engine, yaprak sertifikayı ve tüm ara sertifikaları içeren tek bir PEM dosyasını ve şifrelenmemiş PEM kodlu bir RSA özel anahtarını kabul eder. Yüklenen PEM dosyasında toplamda en fazla beş sertifikaya izin verilir (bir yaprak sertifika ve en fazla dört ara sertifika) ve yüklenen sertifikalar aynı Cloud kuruluşundaki projeler arasında yeniden kullanılabilir.
Adım 1: CSR oluşturun ve sertifikayı sipariş edin
CSR’nizi zaten oluşturduysanız ve CA’nızdan verilen sertifikayı aldıysanız, Adım 2’ye geçebilirsiniz.
CSR (Sertifika İmzalama İsteği), CA’nın sertifikanızı doğrulayıp imzalamak için kullandığı iletişim ve alan adı bilgilerinizi içeren kodlanmış bir metin bloğudur. Bir CSR oluşturmanın iki yolu vardır:
- CSR’yi ve özel anahtarı tarayıcınızda oluşturmak için CSR Generator‘ımızı kullanın.
- Yerel olarak OpenSSL ile oluşturun; bkz. Google App Engine’de CSR nasıl oluşturulur.
CSR’yi (—–BEGIN CERTIFICATE REQUEST—– ve —–END CERTIFICATE REQUEST—– işaretleyicileri dahil) siparişiniz sırasında CA’ya gönderin. Eşleşen özel anahtarı güvenli bir konumda saklayın; kurulum sırasında ihtiyacınız olacak.
Adım 2: Sertifikayı ve zinciri tek bir PEM’de birleştirin
CA ayrı dosyalar (sunucu sertifikanız ve bir veya daha fazla ara sertifika) sağladıysa, bunları doğru sırada birleştirin (önce sertifikanız, ardından ara sertifikalar). Dosyaların bulunduğu klasörde bir terminal açın ve şunu çalıştırın:
cat yourdomain.crt intermediate.crt > concat.crt
Windows PowerShell’de eşdeğeri:
Get-Content yourdomain.crt, intermediate.crt | Set-Content concat.crt
Sonuç, tam zincire sahip PEM kodlu bir sertifika dosyasıdır. Ayrıca formatları dönüştürmeniz gerekiyorsa (örneğin .pfx veya .p12‘den PEM’e), SSL araçlarımızı kullanın.
Özel anahtar şifrelenmemiş PEM kodlu bir RSA anahtarı olmalıdır (örneğin myserver.key.pem). Eğer sizinki parola korumalıysa, şu şekilde parolayı kaldırın:
openssl rsa -in encrypted.key -out myserver.key.pem
Adım 3: Sertifikayı Cloud Console’da yükleyin
- Google Cloud Console‘u açın ve projenizi seçin.
- Gezinme menüsü > App Engine > Settings‘e gidin, ardından SSL Certificates sekmesini açın.
- Upload a new certificate‘a tıklayın.
- Sertifikaya bir Name verin, ardından concat.crt‘yi PEM encoded X.509 public key certificate altına ve myserver.key.pem‘i Unencrypted PEM encoded RSA private key altına yükleyin.
- Upload‘a tıklayın.
Adım 4: Sertifikayı alan adlarınıza atayın
Sertifikanın ayrıntılar sayfasında, güvence altına almasını istediğiniz özel alan adlarını seçin, ardından Save‘e tıklayın. Bir alan adı şu anda Google yönetimli bir sertifika kullanıyorsa, önce yönetilen modu devre dışı bırakın; aksi takdirde yükleme uygulanmaz.
Adım 5 (isteğe bağlı): gcloud CLI’den yükleyin ve bağlayın
Aynı işlem komut satırından:
gcloud app ssl-certificates create
--display-name="example.com 2026"
--certificate=concat.crt
--private-key=myserver.key.pem
Komut yeni sertifika kimliğini döndürür. Bunu eşlenmiş bir alan adına bağlayın ve o eşleme için yönetilen modu kapatın:
gcloud app domain-mappings update www.example.com
--certificate-id=CERT_ID
--certificate-management=manual
Daha sonra ücretsiz bir Google yönetimli sertifikaya geri dönmek için şunu çalıştırın:
gcloud app domain-mappings update www.example.com
--certificate-management=automatic
Notlar ve sınırlamalar
- Yönetilen sertifikalar wildcard’ları kapsamaz. *.example.com için, Seçenek 2’deki gibi bir wildcard sertifika yükleyin.
- Let’s Encrypt, temel alan adı başına haftada 50 yönetilen sertifika ile sınırlar. Bu sınır nadiren sorun olur, ancak aynı anda çok fazla alt alan adı eşliyorsanız önemlidir.
- Herhangi bir alan adına atanmamış yüklenen sertifikalar 30 gün sonra otomatik olarak silinir.
- Tek bir yüklenen PEM dosyasında en fazla bir yaprak sertifika ve dört ara sertifika bulunabilir.
- Yüklenen bir sertifika, Cloud kuruluşunuzdaki tüm projelerde görünür, dolayısıyla tek bir wildcard yeniden kullanılabilir.
SSL kurulumunu test edin
Sitenizi https:// üzerinden açın ve kilit simgesini onaylayın, ardından sertifika, zincir ve protokol desteği hakkında anında rapor almak için SSL Checker‘ımızla daha kapsamlı bir tarama çalıştırın.
Sıkça Sorulan Sorular
Evet. Doğrulanmış bir özel alan adını App Engine uygulamanıza eşleyip DNS’i Google’a yönlendirdiğinizde, App Engine otomatik olarak Let’s Encrypt üzerinden ücretsiz bir SSL sertifikası sağlar ve sizin için yeniler. Bunun için ödeme yapmazsınız ve herhangi bir şey yüklemeniz gerekmez.
Ücretsiz Google yönetimli sertifikalar wildcard’ları desteklemez. *.example.com‘i güvence altına almak için bir wildcard sertifika satın alın, yaprak ve ara sertifikaları tek bir PEM’de birleştirin, ardından App Engine > Settings > SSL Certificates altında yükleyin (yukarıdaki Seçenek 2).
App Engine, alan adınızın DNS kayıtları eşlemeyi oluşturduğunuzda sağladığı Google IP’lerine çözümlenene kadar bir Let’s Encrypt sertifikası verebilir. A, AAAA ve CNAME kayıtlarının Custom Domains altında gösterilen değerlerle eşleştiğini doğrulayın, ardından 24 saate kadar sürebilen DNS yayılımını bekleyin. Durumu yeniden kontrol etmek için gcloud app domain-mappings list çalıştırın.
Standart ortamda, app.yaml içindeki her işleyiciye secure: always (ve isteğe bağlı olarak redirect_http_response_code: 301) ekleyin, ardından gcloud app deploy ile yeniden dağıtın. Esnek ortamda, yönlendirmeyi uygulama veya yük dengeleyici düzeyinde gerçekleştirin.
Sadece kendinizinkini yüklediyseniz. Google yönetimli sertifikalar, alan adı hala eşlenmiş ve DNS hala App Engine’e çözümlendiği sürece otomatik olarak yenilenir. Yüklenen üçüncü taraf sertifikalar, CA tarafından belirlenen tarihte (şu anda genel TLS sertifikaları için yaklaşık bir yıla kadar) sona erer, dolayısıyla o tarihten önce yükleme ve atama adımlarını tekrarlamanız gerekir.
Bugün SSL Dragon’dan sipariş vererek SSL Sertifikalarında %10 indirimden yararlanın!
Hızlı düzenleme, güçlü şifreleme, %99,99 tarayıcı güvenilirliği, özel destek ve 25 günlük para iade garantisi. Kupon kodu: SAVE10


