bg-tutorials

Cara Menginstal Sertifikat SSL di Google App Engine

Panduan ini menunjukkan kepada Anda cara menginstal sertifikat SSL di Google App Engine, baik dengan cara modern (sertifikat gratis yang dikelola Google, disediakan dan diperbarui secara otomatis oleh App Engine untuk domain khusus apa pun) maupun cara lama (mengunggah sertifikat pihak ketiga milik Anda sendiri saat Anda membutuhkan CA tertentu, sertifikat EV/OV, atau wildcard). App Engine adalah PaaS yang dikelola secara penuh, sehingga semua ini dilakukan di Google Cloud Console atau melalui CLI gcloud; Anda tidak pernah masuk ke server secara langsung.

Prasyarat

Sebelum menginstal sertifikat, pastikan hal-hal berikut sudah terpenuhi:

  • Aplikasi App Engine yang sudah di-deploy (lingkungan standar atau fleksibel) dalam sebuah proyek Google Cloud.
  • Domain terdaftar yang Anda kendalikan, dengan akses ke rekaman DNS-nya.
  • Domain yang sudah diverifikasi untuk akun Google Anda melalui Google Search Console atau Webmaster Central (App Engine membaca status kepemilikan yang terverifikasi dari sana).
  • CLI gcloud yang sudah terinstal dan terautentikasi, jika Anda lebih memilih baris perintah dibanding Console.
  • Peran Owner, Editor, atau App Engine Admin pada proyek tersebut.

Domain khusus dan SSL pada App Engine bekerja dengan urutan berikut: verifikasi domain, petakan (map) domain ke aplikasi Anda, arahkan DNS ke App Engine, lalu biarkan Google menyediakan sertifikat yang dikelola atau unggah sertifikat Anda sendiri.

Opsi 1: SSL gratis yang dikelola Google (disarankan)

Sertifikat yang dikelola Google bersifat gratis, disediakan secara otomatis melalui Let’s Encrypt, dan diperpanjang secara otomatis selama domain masih dipetakan. Ini adalah pilihan default untuk setiap domain khusus baru di App Engine dan merupakan pilihan yang tepat untuk sebagian besar situs. Sertifikat yang dikelola tidak mendukung wildcard: setiap nama host (misalnya example.com dan www.example.com) dilindungi oleh sertifikatnya sendiri.

Langkah 1: Verifikasi kepemilikan domain Anda

Di browser Anda, masuk ke Google Search Console dengan akun Google yang sama dengan yang memiliki proyek Cloud tersebut, tambahkan domain Anda sebagai properti, dan selesaikan salah satu metode verifikasi (rekaman DNS TXT adalah yang paling andal). App Engine tidak akan mengizinkan Anda memetakan domain yang belum Anda verifikasi.

Langkah 2: Petakan domain khusus di Console

  • Buka Google Cloud Console dan pilih proyek Anda.
  • Dari menu Navigasi, pilih App Engine > Settings.
  • Buka tab Custom Domains dan klik Add a custom domain.
  • Pilih domain yang sudah terverifikasi dari menu dropdown, lalu masukkan subdomain yang ingin Anda layani (biasanya root example.com dan www.example.com).
  • Klik Save mappings, lalu ikuti instruksi di layar untuk menambahkan rekaman A, AAAA, dan CNAME yang disarankan di penyedia DNS Anda.

Untuk melakukan hal yang sama dari baris perintah, jalankan:

gcloud app domain-mappings create www.example.com --project=YOUR_PROJECT_ID
gcloud app domain-mappings create example.com --project=YOUR_PROJECT_ID

Langkah 3: Tunggu sertifikat yang dikelola

Setelah DNS tersebar (propagated), App Engine secara otomatis meminta sertifikat Let’s Encrypt untuk setiap nama host yang dipetakan. Penyediaan biasanya berlangsung cepat, tetapi propagasi DNS dapat memakan waktu hingga 24 jam. Periksa statusnya dengan:

gcloud app domain-mappings list --project=YOUR_PROJECT_ID

Setiap pemetaan menunjukkan status SSL MANAGED_CERTIFICATE_STATUS: OK ketika sertifikat sudah aktif. Selama masih dalam proses penerbitan, Anda akan melihat PROVISIONING atau PENDING_DNS; ini biasanya akan hilang sendiri setelah rekaman DNS mengarah ke IP Google.

Langkah 4: Wajibkan HTTPS untuk pengunjung (lingkungan standar)

Di App Engine standar, arahkan setiap permintaan ke HTTPS dengan menambahkan secure: always ke setiap handler di app.yaml:

handlers:
- url: /.*
  script: auto
  secure: always
  redirect_http_response_code: 301

Terapkan perubahan tersebut dengan gcloud app deploy. Di lingkungan fleksibel, tangani pengalihan HTTP ke HTTPS pada tingkat aplikasi atau load balancer.

Opsi 2: Unggah sertifikat SSL pihak ketiga milik Anda sendiri

Pilih cara ini jika Anda membutuhkan sertifikat wildcard, sertifikat OV atau EV dari Certificate Authority tertentu, atau sertifikat yang sudah diterbitkan untuk domain Anda. App Engine menerima satu file PEM yang berisi sertifikat utama (leaf) dan sertifikat intermediate mana pun, ditambah kunci privat RSA berformat PEM yang tidak dienkripsi. Total maksimal lima sertifikat diperbolehkan dalam file PEM yang diunggah (satu leaf ditambah hingga empat intermediate), dan sertifikat yang diunggah dapat digunakan kembali di berbagai proyek dalam organisasi Cloud yang sama.

Langkah 1: Buat CSR dan pesan sertifikat

Jika Anda sudah membuat CSR dan menerima sertifikat yang diterbitkan dari CA Anda, langsung lompat ke Langkah 2.

CSR (Certificate Signing Request) adalah blok teks berkode yang berisi data kontak dan domain Anda, yang digunakan oleh CA untuk memverifikasi dan menandatangani sertifikat Anda. Ada dua cara untuk membuatnya:

Kirim CSR (termasuk penanda —–BEGIN CERTIFICATE REQUEST—– dan —–END CERTIFICATE REQUEST—–) kepada CA saat melakukan pemesanan. Simpan kunci privat yang sesuai di lokasi yang aman; Anda akan membutuhkannya saat proses instalasi.

Langkah 2: Gabungkan sertifikat dan chain menjadi satu file PEM

Jika CA mengirimkan file terpisah (sertifikat server Anda ditambah satu atau lebih sertifikat intermediate), gabungkan file-file tersebut dengan urutan yang benar (sertifikat Anda terlebih dahulu, kemudian intermediate). Buka terminal di folder yang menyimpan file-file tersebut dan jalankan:

cat yourdomain.crt intermediate.crt > concat.crt

Pada Windows PowerShell, perintah yang setara adalah:

Get-Content yourdomain.crt, intermediate.crt | Set-Content concat.crt

Hasilnya adalah file sertifikat berformat PEM dengan chain lengkap. Jika Anda juga perlu mengonversi format (misalnya dari .pfx atau .p12 ke PEM), gunakan SSL tools kami.

Kunci privat harus berupa kunci RSA berformat PEM yang tidak dienkripsi (misalnya myserver.key.pem). Jika kunci Anda dilindungi kata sandi, hapus passphrase-nya dengan:

openssl rsa -in encrypted.key -out myserver.key.pem

Langkah 3: Unggah sertifikat di Cloud Console

  • Buka Google Cloud Console dan pilih proyek Anda.
  • Buka menu Navigasi > App Engine > Settings, lalu buka tab SSL Certificates.
  • Klik Upload a new certificate.
  • Berikan Name untuk sertifikat, lalu unggah concat.crt di bagian PEM encoded X.509 public key certificate dan myserver.key.pem di bagian Unencrypted PEM encoded RSA private key.
  • Klik Upload.

Langkah 4: Tetapkan sertifikat ke domain Anda

Pada halaman detail sertifikat, pilih domain khusus yang ingin Anda amankan, lalu klik Save. Jika suatu domain saat ini menggunakan sertifikat yang dikelola Google, nonaktifkan dahulu mode terkelola untuk domain tersebut; jika tidak, unggahan Anda tidak akan diterapkan.

Langkah 5 (opsional): Unggah dan ikat dari CLI gcloud

Operasi yang sama dari baris perintah:

gcloud app ssl-certificates create 
  --display-name="example.com 2026" 
  --certificate=concat.crt 
  --private-key=myserver.key.pem

Perintah ini mengembalikan ID sertifikat baru. Ikat sertifikat tersebut ke domain yang sudah dipetakan dan matikan mode terkelola untuk pemetaan tersebut:

gcloud app domain-mappings update www.example.com 
  --certificate-id=CERT_ID 
  --certificate-management=manual

Untuk beralih kembali ke sertifikat gratis yang dikelola Google nanti, jalankan:

gcloud app domain-mappings update www.example.com 
  --certificate-management=automatic

Catatan dan batasan

  • Sertifikat yang dikelola tidak mencakup wildcard. Untuk *.example.com, unggah sertifikat wildcard seperti pada Opsi 2.
  • Let’s Encrypt membatasi penerbitan hingga 50 sertifikat terkelola per minggu untuk setiap domain dasar. Batasan ini jarang menjadi masalah, tetapi penting jika Anda memetakan banyak subdomain sekaligus.
  • Sertifikat yang diunggah namun tidak ditetapkan ke domain mana pun akan dihapus secara otomatis setelah 30 hari.
  • Batas maksimum adalah satu leaf ditambah empat intermediate dalam satu file PEM yang diunggah.
  • Sertifikat yang diunggah dapat dilihat di semua proyek dalam organisasi Cloud Anda, sehingga satu sertifikat wildcard dapat digunakan kembali.

Uji instalasi SSL

Buka situs Anda melalui https:// dan pastikan ikon gembok muncul, lalu jalankan pemindaian yang lebih mendalam dengan SSL Checker kami untuk mendapatkan laporan instan tentang sertifikat, chain, dan dukungan protokol.

Pertanyaan yang Sering Diajukan

Apakah App Engine memberikan sertifikat SSL gratis?

Ya. Setelah Anda memetakan domain khusus yang terverifikasi ke aplikasi App Engine Anda dan mengarahkan DNS ke Google, App Engine secara otomatis menyediakan sertifikat SSL gratis melalui Let’s Encrypt dan memperpanjangnya untuk Anda. Anda tidak perlu membayar untuk ini dan tidak perlu mengunggah apa pun.

Bisakah saya menggunakan sertifikat wildcard di App Engine?

Sertifikat gratis yang dikelola Google tidak mendukung wildcard. Untuk mengamankan *.example.com, beli sertifikat wildcard, gabungkan leaf dan intermediate menjadi satu file PEM, lalu unggah di bawah App Engine > Settings > SSL Certificates (Opsi 2 di atas).

Mengapa domain khusus saya menunjukkan “managed certificate pending”?

App Engine tidak dapat menerbitkan sertifikat Let’s Encrypt sampai rekaman DNS domain Anda mengarah ke IP Google yang diberikan saat Anda membuat pemetaan. Periksa apakah rekaman A, AAAA, dan CNAME cocok dengan nilai yang ditampilkan di bawah Custom Domains, lalu tunggu propagasi DNS, yang dapat memakan waktu hingga 24 jam. Jalankan gcloud app domain-mappings list untuk memeriksa ulang statusnya.

Bagaimana cara mengalihkan HTTP ke HTTPS di App Engine?

Di lingkungan standar, tambahkan secure: always (dan secara opsional redirect_http_response_code: 301) ke setiap handler di app.yaml, lalu deploy ulang dengan gcloud app deploy. Di lingkungan fleksibel, lakukan pengalihan pada tingkat aplikasi atau load balancer.

Apakah saya perlu memperpanjang sertifikat sendiri?

Hanya jika Anda mengunggah sertifikat sendiri. Sertifikat yang dikelola Google diperpanjang secara otomatis selama domain masih dipetakan dan DNS masih mengarah ke App Engine. Sertifikat pihak ketiga yang diunggah akan berakhir pada tanggal yang ditetapkan oleh CA (saat ini hingga sekitar satu tahun untuk sertifikat TLS publik), sehingga Anda harus mengulangi langkah unggah dan tetapkan sebelum tanggal tersebut.

Hemat 10% untuk Sertifikat SSL saat memesan hari ini!

Penerbitan cepat, enkripsi kuat, kepercayaan peramban 99,99%, dukungan khusus, dan jaminan uang kembali 25 hari. Kode kupon: SAVE10

Ditulis oleh

Penulis konten berpengalaman yang berspesialisasi dalam Sertifikat SSL. Mengubah topik keamanan siber yang rumit menjadi konten yang jelas dan menarik. Berkontribusi untuk meningkatkan keamanan digital melalui narasi yang berdampak.