Prosedur pemecahan masalah bergantung pada jenis sertifikat SSL yang digunakan.
Memecahkan masalah sertifikat yang dikelola Google
Untuk sertifikat yang dikelola Google, ada dua jenis status:
- Status terkelola
- Status domain
Status terkelola
Untuk memeriksa status sertifikat, jalankan perintah berikut:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(name,managed.status)"
Nilai untuk status terkelola adalah sebagai berikut:
Status terkelola | Penjelasan |
---|---|
PROVISIONING |
Sertifikat yang dikelola Google telah dibuat dan Google Cloud sedang bekerja sama dengan Certificate Authority untuk menandatanganinya. Penyediaan sertifikat yang dikelola Google mungkin memerlukan waktu hingga 60 menit sejak perubahan konfigurasi DNS dan load balancer Anda diterapkan di seluruh internet. Jika Anda baru-baru ini memperbarui konfigurasi DNS, mungkin perlu waktu yang cukup lama agar perubahan tersebut diterapkan sepenuhnya. Terkadang propagasi memerlukan waktu hingga 72 jam di seluruh dunia, meskipun biasanya memerlukan waktu beberapa jam. Untuk mengetahui informasi selengkapnya tentang penyebaran DNS, lihat Penyebaran perubahan. Jika sertifikat tetap dalam status |
ACTIVE |
Sertifikat SSL yang dikelola Google diperoleh dari Certificate Authority. Mungkin perlu waktu 30 menit tambahan agar dapat digunakan oleh load balancer. |
PROVISIONING_FAILED |
Anda mungkin melihat PROVISIONING_FAILED sebentar meskipun
sertifikat Anda sebenarnya ACTIVE .
Periksa kembali statusnya. Jika statusnya tetap PROVISIONING_FAILED , sertifikat yang dikelola Google telah
dibuat, tetapi Certificate Authority tidak dapat menandatanganinya. Pastikan Anda telah menyelesaikan semua langkah dalam Menggunakan sertifikat SSL yang dikelola Google. Google Cloud akan mencoba lagi penyediaan hingga berhasil atau status berubah menjadi PROVISIONING_FAILED_PERMANENTLY .
|
PROVISIONING_FAILED_PERMANENTLY |
Sertifikat yang dikelola Google dibuat, tetapi Certificate Authority
tidak dapat menandatanganinya karena masalah konfigurasi DNS atau load balancer. Dalam
status ini, Google Cloud tidak mencoba lagi penyediaan. Buat penggantian sertifikat SSL yang dikelola Google, dan pastikan penggantian tersebut terkait dengan proxy target load balancer Anda. Verifikasi atau selesaikan semua langkah dalam artikel Menggunakan sertifikat SSL yang dikelola Google. Setelah itu, Anda dapat menghapus sertifikat yang gagal penyediaannya secara permanen. |
RENEWAL_FAILED |
Perpanjangan sertifikat yang dikelola Google gagal karena masalah pada load balancer atau konfigurasi DNS. Jika salah satu domain atau subdomain dalam sertifikat terkelola tidak mengarah ke alamat IP load balancer menggunakan data A/AAAA, proses perpanjangan akan gagal. Sertifikat yang ada akan terus ditayangkan, tetapi masa berlakunya akan segera berakhir. Periksa konfigurasi Anda. Jika statusnya tetap Untuk informasi selengkapnya tentang perpanjangan sertifikat, lihat Perpanjangan sertifikat SSL yang dikelola Google. |
Status domain
Untuk memeriksa status domain, jalankan perintah berikut:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(managed.domainStatus)"
Nilai untuk status domain dijelaskan dalam tabel ini.
Status domain | Penjelasan |
---|---|
PROVISIONING |
Sertifikat yang dikelola Google dibuat untuk domain. Google Cloud bekerja sama dengan Certificate Authority untuk menandatangani sertifikat. |
ACTIVE |
Domain telah berhasil divalidasi untuk menyediakan
sertifikat. Jika sertifikat SSL ditujukan untuk beberapa domain, sertifikat hanya dapat disediakan setelah semua domain memiliki status ACTIVE dan status dikelola sertifikat juga ACTIVE .
|
FAILED_NOT_VISIBLE |
Penyediaan sertifikat belum selesai untuk domain. Salah satu dari hal berikut mungkin menjadi masalahnya:
PROVISIONING , Google Cloud akan terus mencoba lagi
penyediaan, meskipun status domainnya adalah
FAILED_NOT_VISIBLE .
|
FAILED_CAA_CHECKING |
Penyediaan sertifikat gagal karena masalah konfigurasi pada data CAA domain Anda. Pastikan Anda telah mengikuti prosedur yang benar. |
FAILED_CAA_FORBIDDEN |
Penyediaan sertifikat gagal karena data CAA domain Anda tidak menentukan CA yang perlu digunakan Google Cloud. Pastikan Anda telah mengikuti prosedur yang benar. |
FAILED_RATE_LIMITED |
Penyediaan sertifikat gagal karena Otoritas Sertifikasi memiliki permintaan penandatanganan sertifikat dengan pembatasan kapasitas. Anda dapat menyediakan sertifikat baru, beralih untuk menggunakan sertifikat baru, dan menghapus sertifikat sebelumnya, atau Anda dapat menghubungi Dukungan Google Cloud. |
Perpanjangan sertifikat terkelola
Jika ada domain atau subdomain dalam sertifikat terkelola yang tidak mengarah ke alamat IP load balancer, atau mengarah ke IP bersama dengan IP load balancer, proses perpanjangan akan gagal. Untuk menghindari kegagalan perpanjangan, pastikan semua domain dan subdomain Anda mengarah ke alamat IP load balancer.
Memecahkan masalah sertifikat SSL yang dikelola sendiri
Panduan ini menjelaskan cara memecahkan masalah konfigurasi untuk sertifikat SSL yang dikelola sendiri.
Sertifikat tidak dapat diuraikan
Google Cloud memerlukan sertifikat dalam format PEM. Jika sertifikat berformat PEM, periksa hal berikut:
Anda dapat memvalidasi sertifikat menggunakan perintah OpenSSL berikut, dengan mengganti
CERTIFICATE_FILE
dengan jalur ke file sertifikat Anda:
openssl x509 -in CERTIFICATE_FILE -text -noout
Jika OpenSSL tidak dapat mengurai sertifikat Anda:
- Hubungi CA Anda untuk mendapatkan bantuan.
- Buat kunci pribadi dan sertifikat baru.
Nama umum atau nama alternatif subjek tidak ada
Google Cloud mewajibkan sertifikat Anda memiliki salah satu atribut nama umum
(CN
) atau nama alternatif subjek (SAN
). Lihat Membuat
CSR untuk
mengetahui informasi tambahan.
Jika kedua atribut tidak ada, Google Cloud akan menampilkan pesan error seperti berikut saat Anda mencoba membuat sertifikat yang dikelola sendiri:
ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
- The SSL certificate is missing a Common Name(CN) or Subject Alternative
Name(SAN).
Kunci pribadi tidak dapat diuraikan
Google Cloud memerlukan kunci pribadi berformat PEM yang memenuhi kriteria kunci pribadi.
Anda dapat memvalidasi kunci pribadi menggunakan perintah OpenSSL berikut, dengan mengganti
PRIVATE_KEY_FILE
dengan jalur ke kunci pribadi Anda:
openssl rsa -in PRIVATE_KEY_FILE -check
Respons berikut menunjukkan masalah pada kunci pribadi Anda:
unable to load Private Key
Expecting: ANY PRIVATE KEY
RSA key error: n does not equal p q
RSA key error: d e not congruent to 1
RSA key error: dmp1 not congruent to d
RSA key error: dmq1 not congruent to d
RSA key error: iqmp not inverse of q
Untuk memperbaiki masalah ini, Anda harus membuat kunci pribadi dan sertifikat baru.
Kunci pribadi dengan frasa sandi
Jika OpenSSL meminta frasa sandi, Anda harus menghapus frasa sandi dari kunci pribadi sebelum dapat menggunakannya dengan Google Cloud. Anda dapat menggunakan perintah OpenSSL berikut:
openssl rsa -in PRIVATE_KEY_FILE \ -out REPLACEMENT_PRIVATE_KEY_FILE
Ganti placeholder dengan nilai yang valid:
PRIVATE_KEY_FILE
: Jalur ke kunci pribadi Anda yang dilindungi dengan frasa sandiREPLACEMENT_PRIVATE_KEY_FILE
: Jalur tempat Anda ingin menyimpan salinan kunci pribadi teks biasa
Masa berlaku intermediate certificate akan segera berakhir
Jika masa berlaku sertifikat intermediate berakhir sebelum sertifikat server (leaf), hal ini mungkin menunjukkan bahwa CA Anda tidak mengikuti praktik terbaik.
Saat masa berlaku sertifikat perantara berakhir, sertifikat leaf yang digunakan di Google Cloud mungkin menjadi tidak valid. Hal ini bergantung pada klien SSL, sebagai berikut:
- Beberapa klien SSL hanya melihat waktu habis masa berlaku sertifikat leaf dan mengabaikan sertifikat intermediate yang telah habis masa berlakunya.
- Beberapa klien SSL memperlakukan rantai dengan sertifikat perantara yang masa berlakunya telah habis sebagai tidak valid dan menampilkan peringatan.
Untuk menyelesaikan masalah ini:
- Tunggu hingga CA beralih ke sertifikat perantara baru.
- Minta sertifikat baru dari mereka.
- Upload ulang sertifikat baru dengan kunci baru.
CA Anda mungkin juga mengizinkan penandatanganan silang untuk sertifikat intermediate. Hubungi CA Anda untuk mengonfirmasi.
Eksponen publik RSA terlalu besar
Pesan error berikut akan muncul jika eksponen publik RSA lebih besar dari
65537. Pastikan untuk menggunakan 65537
, seperti yang ditentukan dalam RFC
4871.
ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
- The RSA public exponent is too large.
Menghapus sertifikat SSL dari target-proxy
Langkah-langkah berikut menunjukkan cara menghapus satu sertifikat SSL yang dilampirkan ke proxy https target:
Ekspor target-https-proxy ke file sementara.
gcloud compute target-https-proxies export TARGET_PROXY_NAME > /tmp/proxy
Edit file
/tmp/proxy
dan hapus baris berikut:sslCertificates: - https://www.googleapis.com/compute/v1/projects/...
Impor file
/tmp/proxy
.gcloud compute target-https-proxies import TARGET_PROXY_NAME \ --source=/tmp/proxy
Opsional: Hapus sertifikat SSL.
gcloud compute ssl-certificates delete SSL_CERT_NAME
Ganti kode berikut:
TARGET_PROXY_NAME
: nama resource proxy https target.SSL_CERT_NAME
: nama sertifikat SSL.