Custom SSL via SLB
1 min read
Custom SSL via Shared Load Balancer (SLB) #
Di Jagoan Cloud menyediakan beberapa opsi untuk mengkonfigurasi SSL pada environment. Pilihan yang tersedia tergantung pada topologi spesifik dan domain yang ditargetkan :
- Environment dengan IP publik sebagai entry point bisa menggunakan opsi Let’s Encrypt SSL dan Custom SSL untuk mengamankan koneksi secara otomatis ke domain yang terpasang.
- Opsi Built-In SSL memungkinkan konfigurasi SSL otomatis untuk domain dasar environment yang tidak memiliki IP publik.
- Jika SSL harus diatur untuk domain custom pada environment tanpa IP eksternal, bisa menggunakan fitur Custom SSL melalui SLB (Shared Load Balancer).
Solusi terakhir ini khusus ditujukan untuk instalasi platform yang berjalan di atas hardware Azure atau Google, yang biasanya tidak menyediakan IP eksternal tambahan. Mari kita bahas lebih detail mengenai hal ini.
Configure Custom SSL via SLB #
Fitur ini dirancang untuk memungkinkan pengaturan sertifikat Custom SSL tanpa harus mengaitkan IP eksternal pada entry point dari environment. Langkah pertama dalam pendekatan ini adalah mengunggah private key, sertifikat domain, dan opsional sertifikat intermediate ke database platform. Selanjutnya, data ini disinkronisasi ke seluruh cluster Shared Load Balancers (SLB). Pemilihan sertifikat SSL pada SLB dilakukan menggunakan SNI.
SNI (Server Name Indication) adalah ekstensi dari protokol TLS yang memastikan bahwa klien mengirimkan nama domain yang diminta. Dengan SNI, server bisa menyediakan sertifikat yang tepat untuk domain tersebut walaupun daftar lengkap hostname belum diketahui sebelumnya.
Saat ini, semua konfigurasi dilakukan melalui API (dukungan UI akan hadir di versi platform mendatang):
- GetSSLCerts (session, [ids]) : menampilkan semua sertifikat untuk pengguna saat ini (atau yang spesifik berdasarkan parameter ids)
- AddSSLCert (session, key, cert, [interm]) : mengunggah private key, sertifikat domain, dan sertifikat intermediate ke database platform (bisa lewat link atau parameter body)
- EditSSLCert (session, id, [key], [cert], [interm]) : memperbarui sertifikat tertentu (untuk menghapus sertifikat intermediate gunakan nilai “*”, “null”, atau “none”)
- RemoveSSLCerts (session, ids) : menghapus sertifikat tertentu (gunakan “*” untuk semua); sertifikat yang sudah terpasang tidak bisa dihapus sebelum dilepas (unbind)
- BindSSLCert (session, envName, certId, [entryPoint], [extDomains]) : memasang sertifikat SSL ke lingkungan atau, jika SLB dipilih sebagai entry point, memasangnya di SLB untuk domain eksternal yang terdaftar
- UnbindSSLCert (session, envName, [extDomains]) : melepas sertifikat SSL dari lingkungan atau, jika parameter extDomains ada, dari domain custom yang terdaftar di SLB
- BindExtDomains (session, envName, extDomains, [certId]) : mengaitkan domain custom ke lingkungan dan jika ada certId, memasang sertifikat yang sesuai di SLB
- GetExtDomains (session, envName) : menampilkan daftar domain custom yang terpasang pada lingkungan tersebut
📝 NOTE
Jumlah maksimal sertifikat Custom SSL yang bisa dipasang melalui SLB dibatasi per akun dengan kuota slb.customssl.maxcount (defaultnya 50 untuk pengguna berbayar dan 5 untuk pengguna trial) guna mencegah penyalahgunaan fitur ini.
Jadi, untuk memasang Custom SSL pada environment tanpa IP publik melalui SLB, Kamu perlu mengunggah sertifikatmu ke database platform (menggunakan AddSSLCert) dan mengaitkannya ke domain custom baru atau yang sudah ada (menggunakan BindExtDomains untuk domain baru atau BindSSLCert untuk yang sudah ada).
Powered by BetterDocs
