DocsInfrastruktur
Sertifikat SSL kustom
Pakai sertifikat sendiri untuk domain aplikasi, sebagai ganti Let's Encrypt otomatis: unggah sekali, pilih per domain.
- Unggah
- Integrasi → Sertifikat SSL (owner/admin)
- Pasang
- Aplikasi → tab Domain, per domain HTTPS
- Berlaku untuk
- Domain aplikasi saja
Kapan dipakai
Secara default domain HTTPS memakai Let's Encrypt otomatis. Sertifikat kustom berguna bila:
- perusahaanmu mewajibkan sertifikat dari CA internal atau CA tertentu;
- kamu sudah punya sertifikat wildcard berbayar yang ingin dipakai untuk banyak subdomain;
- kamu memakai Cloudflare Origin CA di belakang proxy Cloudflare;
- jaringan server tidak bisa dijangkau Let's Encrypt (mis. tidak ada akses port 80 dari luar).
Mengunggah sertifikat
Integrasi → Sertifikat SSL
Hanya owner/admin yang melihat kartu ini. Klik Unggah.
Isi nama, sertifikat, dan kunci privat
Tempel isi PEM atau klik Pilih berkas untuk membaca berkas
.pem/.crtdan kunci dari komputermu (dibaca di browser). Syaratnya:- Format PEM: blok
-----BEGIN CERTIFICATE-----untuk sertifikat dan-----BEGIN PRIVATE KEY-----(atau RSA/EC) untuk kunci. - Sertifikat boleh berupa bundle: sertifikat server lebih dulu, lalu intermediate (rantai). Urutan salah ditolak.
- Kunci privat tidak boleh dilindungi passphrase. Lepas dulu, mis.
openssl pkey -in kunci.pem -out kunci-tanpa-pass.pem. - Kunci harus cocok dengan sertifikat, dan sertifikat belum kedaluwarsa.
- Nama harus unik.
- Format PEM: blok
Klik Unggah
aoox membaca nama domain yang dicakup (termasuk wildcard), penerbit, dan tanggal kedaluwarsanya. Kunci privat tidak bisa dilihat lagi setelah disimpan.
Daftar di kartu menampilkan nama, domain yang dicakup, penerbit, tanggal kedaluwarsa, dan berapa domain yang memakainya.
Memasang ke domain
Di tab Domain aplikasi, setiap domain HTTPS punya pilihan Sertifikat:
- Otomatis (Let's Encrypt) — default; proxy meminta sertifikat sendiri.
- Salah satu sertifikat yang kamu unggah. Hanya yang mencakup host domain itu yang bisa dipilih; yang lain tampil nonaktif dengan keterangan “tidak mencakup host”.
Pilihan yang sama ada saat menambah domain baru (setelah HTTPS dinyalakan). Mengubahnya butuh peran developer ke atas; viewer hanya melihat sertifikat yang dipakai. Domain tanpa HTTPS tidak punya pilihan ini. Memilih kembali Otomatis mengembalikan domain ke Let's Encrypt.
Wildcard
Tidak punya sertifikat sendiri? Dengan koneksi Cloudflare, aoox bisa menerbitkan sertifikat wildcard sendiri lewat ACME DNS-01, lihat DNS Cloudflare.
Sertifikat *.example.com mencakup satu level: app.example.com ya, tetapi a.b.example.com dan example.com sendiri tidak. Aturannya sama dengan yang dipakai browser; sertifikat yang mencakup example.com dan *.example.com sekaligus melayani keduanya.
Kedaluwarsa dan perpanjangan
- Kartu memberi lencana: hijau (normal), ambar (kurang dari 14 hari), merah (sudah kedaluwarsa). Tab Domain menandai domain yang sertifikatnya hampir atau sudah kedaluwarsa.
- aoox mengirim notifikasi (jenis kegagalan sertifikat) saat sisa waktunya 14 hari atau kurang, dan lagi bila sudah kedaluwarsa; paling sering sekali per 24 jam per sertifikat. Hanya sertifikat yang dipakai domain yang diperingatkan.
- Sertifikat kustom yang kedaluwarsa tidak jatuh otomatis ke Let's Encrypt: browser akan menolak domain itu sampai kamu memperbaruinya atau memilih Otomatis.
Untuk memperpanjang, klik Perbarui pada sertifikat dan tempel sertifikat serta kunci baru. Nama tetap, dan semua domain yang memakainya otomatis ikut. Isi baru harus tetap mencakup domain yang sudah memakainya; kalau tidak, pembaruan ditolak (400).
Menghapus
Tombol hapus memunculkan dialog konfirmasi. Sertifikat yang masih dipakai domain tidak bisa dihapus (409): pindahkan domainnya ke sertifikat lain atau Let's Encrypt dulu.
Batas
- Hanya untuk domain aplikasi. Domain untuk panel dan registry lokal tetap memakai ACME.
- Pada instalasi proxy lama yang belum bisa membaca sertifikat kustom, container proxy dibuat ulang satu kali (beberapa detik) saat sertifikat kustom pertama dipakai; port dan pengaturan ACME-nya dipertahankan. Proxy baru tidak perlu dibuat ulang, dan mengganti isi sertifikat tidak me-restart apa pun.
- Sertifikat dan penugasannya tidak ikut ekspor/impor project (domain hasil impor memakai Let's Encrypt) dan tidak dipulihkan oleh restore instance; unggah ulang bila perlu.
Keamanan
0600 di volume proxy. API tidak pernah mengembalikannya, dan tidak masuk log atau notifikasi. Tetap batasi siapa yang jadi owner/admin, dan cabut sertifikat yang kuncinya bocor.Jebakan umum
| Gejala | Penyebab & solusi |
|---|---|
| 400: kunci tidak cocok | Kunci bukan pasangan sertifikat pertama di bundle. Pastikan sertifikat server ada di atas, rantai di bawahnya. |
| 400: kunci terenkripsi | Lepas passphrase dulu (openssl pkey), lalu unggah ulang. |
| 400: sudah kedaluwarsa | Unggah sertifikat yang masih berlaku. |
| 409: nama sudah dipakai | Pakai nama lain, atau perbarui sertifikat yang ada. |
| Sertifikat tidak bisa dipilih untuk domain | Sertifikat tidak mencakup host itu (ingat wildcard hanya satu level). |
| Browser tetap menolak | Rantai tidak lengkap: sertakan intermediate di bundle. Atau domain belum diarahkan ke server ini. |
Langkah berikutnya
Ada yang keliru? Edit halaman ini di GitHub ↗