Custom Domain

Panduan mendaftarkan domain sendiri untuk workspace, mulai dari konfigurasi CNAME, verifikasi DNS, hingga pengaturan sertifikat SSL (otomatis maupun upload sertifikat sendiri)


Secara default, workspace Anda diakses melalui subdomain AlurKerja. Dengan Custom Domain, Anda dapat menggunakan domain milik sendiri (misalnya perusahaan.co.id atau app.perusahaan.co.id) untuk mengakses workspace tersebut.

Proses registrasi terdiri dari empat tahap: mendaftarkan domain, menambahkan record CNAME di DNS provider, memverifikasi DNS, lalu menyiapkan sertifikat SSL.

Mendaftarkan Custom Domain

  1. Buka Tab Custom Domain Dari Studio, buka menu Workspace Setting, lalu pilih tab Custom Domain.

  2. Masukkan Domain Isi kolom Workspace Domain dengan domain yang Anda inginkan, lalu klik Save. Setelah tersimpan, status domain akan berubah menjadi Waiting for DNS.

    Tab Custom Domain pada Workspace Settings

Anda dapat menggunakan domain utama (namadomain.com) maupun subdomain (app.namadomain.com). Langkah konfigurasinya sama.

Konfigurasi CNAME untuk Domain

  1. Lihat Detail DNS Record Pada bagian DNS Record, AlurKerja menampilkan detail record CNAME yang perlu Anda tambahkan di DNS provider — meliputi Type, Name, Value, dan TTL. Gunakan tombol Copy agar nilainya sesuai persis.

    Detail DNS Record yang perlu ditambahkan
  2. Buka DNS Manager Masuk ke DNS manager domain Anda (contoh ini menggunakan Cloudflare), buka menu Records, lalu klik Add record.

    Menu Add record pada Cloudflare
  3. Tambahkan Record CNAME Isi form sesuai data yang ditampilkan AlurKerja, lalu ubah Proxy status menjadi DNS only. Klik Save untuk menyimpan record.

    Form penambahan record CNAME dengan Proxy status DNS only

Proxy status wajib diset ke DNS only. Jika proxy tetap aktif (ikon awan oranye), trafik akan melewati proxy Cloudflare dan verifikasi domain maupun penerbitan sertifikat SSL dapat gagal.

Verifikasi Pengaturan DNS

Setelah record DNS ditambahkan, kembali ke halaman Custom Domain di AlurKerja, lalu klik tombol Verify Domain. Jika berhasil, status domain akan berubah menjadi Provisioning SSL.

Tombol Verify Domain

Propagasi DNS membutuhkan waktu. Jika verifikasi gagal pada percobaan pertama, tunggu beberapa menit lalu klik Verify Domain kembali.

Mengatur Sertifikat SSL

Setelah DNS terverifikasi, tentukan bagaimana domain Anda diamankan dengan TLS pada bagian SSL Certificate. Tersedia dua pilihan:

PilihanKapan digunakanPerpanjangan
Automatic SSLPilihan default. AlurKerja menerbitkan sertifikat gratis via Let's Encrypt.Otomatis oleh AlurKerja
Upload my certificateAnda sudah punya sertifikat sendiri (wildcard, DigiCert, sertifikat korporat, dsb).Manual oleh Anda

Automatic SSL

Pilih Automatic SSL jika Anda ingin AlurKerja menerbitkan dan memperpanjang sertifikat secara otomatis melalui Let's Encrypt. Tidak ada berkas yang perlu diunggah.

Sertifikat biasanya terbit beberapa saat setelah DNS terverifikasi dan halaman akan memperbarui statusnya sendiri. Jika ingin menerbitkan segera tanpa menunggu, klik tombol Generate SSL now.

Upload my certificate (Manual)

Pilih opsi ini jika Anda ingin memakai sertifikat milik sendiri.

  1. Pilih Upload my certificate Kartu SSL Certificate akan menampilkan dua area unggahan.

  2. Unggah Berkas Sertifikat Unggah kedua berkas berikut — bisa lewat drag-and-drop atau klik untuk memilih berkas:

    • Certificate — berkas sertifikat berformat .crt atau .pem
    • Private Key — berkas private key berformat .key
  3. Klik Upload Certificate Tombol Upload Certificate aktif setelah kedua berkas terisi. Setelah berhasil, tanggal kedaluwarsa sertifikat (cert expires at) akan ditampilkan.

Sertifikat yang diunggah harus memenuhi seluruh syarat berikut, jika tidak unggahan akan ditolak:

  • Berformat PEM yang valid, baik untuk sertifikat maupun private key.
  • Masih berlaku — belum kedaluwarsa dan masa berlakunya lebih dari 7 hari ke depan.
  • Cocok dengan domain yang didaftarkan (sesuai Common Name atau SAN pada sertifikat).
  • Private key cocok dengan sertifikat yang diunggah.

Pada opsi manual, perpanjangan sertifikat menjadi tanggung jawab Anda. Pantau tanggal kedaluwarsa dan unggah sertifikat baru sebelum masa berlakunya habis agar domain tetap dapat diakses.

Anda dapat beralih kembali ke Automatic SSL kapan saja. Setelah beralih, sertifikat yang Anda unggah tidak lagi digunakan dan AlurKerja kembali mengelola perpanjangan.

Mengakses Domain yang Sudah Dikonfigurasi

Setelah sertifikat aktif, status domain berubah menjadi Domain active dan workspace dapat diakses melalui domain Anda.

Workspace diakses melalui custom domain

Jika domain belum bisa diakses, tunggu sekitar 5 menit agar proses DNS resolve selesai, lalu coba akses kembali.

Custom Domain pada Daftar Workspace

Sebuah custom domain terikat pada satu workspace tertentu. Perilakunya pada halaman My Workspaces adalah sebagai berikut:

  • Ketika Anda membuka sebuah custom domain lalu login, Anda akan langsung diarahkan ke workspace yang terikat pada domain tersebut, tanpa perlu memilihnya lagi secara manual.
  • Pada daftar workspace, workspace yang sudah memiliki custom domain ditampilkan lengkap dengan nama domain-nya. Dengan begitu, Anda dapat mengenali workspace mana yang terkait dengan domain yang sedang Anda akses.

Selama Anda mengakses melalui custom domain, URL akan tetap berada pada domain tersebut dan hanya melayani workspace pemiliknya. Workspace lain yang tidak memiliki custom domain tetap diakses melalui subdomain AlurKerja seperti biasa.

Konfigurasi SSO Keycloak untuk Custom Domain

Agar login melalui custom domain berjalan, domain baru harus didaftarkan pada konfigurasi Keycloak. Tanpa langkah ini, akses ke domain baru akan gagal dengan error Invalid parameter: redirect_uri atau halaman gagal dimuat karena diblokir oleh kebijakan keamanan.

Langkah pada bagian ini dilakukan di Keycloak Admin Console dan membutuhkan akses administrator. Jika Anda tidak memiliki akses tersebut, hubungi tim admin/infra dan berikan custom domain yang telah didaftarkan.

Menambahkan Valid Redirect URI dan Web Origin ke Client

Pada Keycloak Admin Console, buka menu Clients, lalu pilih client yang digunakan aplikasi Anda dan masuk ke tab Settings.

  1. Tambahkan Valid Redirect URI Pada bagian Valid redirect URIs, klik Add lalu masukkan custom domain Anda diikuti pola /* (misalnya https://app.namadomain.com/*) agar seluruh path pada domain tersebut diizinkan sebagai tujuan redirect setelah login.

    Menambahkan custom domain pada Valid redirect URIs client Keycloak
  2. Tambahkan Web Origin Pada bagian Web origins, klik Add lalu masukkan custom domain Anda tanpa pola /* (misalnya https://app.namadomain.com) agar permintaan CORS dari domain tersebut diizinkan.

    Menambahkan custom domain pada Web origins client Keycloak
  3. Simpan Klik Save di bagian bawah halaman agar perubahan diterapkan.

Perhatikan perbedaan formatnya: Valid redirect URIs memakai pola /* di akhir (contoh https://app.namadomain.com/*), sedangkan Web origins ditulis tanpa path (contoh https://app.namadomain.com).

Menambahkan Custom Domain ke Content Security Policy

Selain di client, custom domain juga perlu ditambahkan pada Content-Security-Policy (CSP) agar aplikasi dapat ditampilkan (misalnya di dalam iframe) tanpa diblokir oleh browser.

  1. Buka Realm Settings Pada sidebar Keycloak Admin Console, klik Realm settings.

    Menu Realm settings pada sidebar Keycloak
  2. Buka Tab Security Defenses Pilih tab Security defenses, lalu buka sub-tab Headers.

  3. Tambahkan Domain pada Content-Security-Policy Pada kolom Content-Security-Policy, tambahkan custom domain Anda ke direktif frame-ancestors (dan direktif lain yang relevan sesuai kebutuhan). Anda dapat menuliskan domain spesifik (https://app.namadomain.com) maupun pola wildcard (https://*.namadomain.com). Klik Save untuk menyimpan.

    Pengaturan Content-Security-Policy pada tab Security defenses

Setelah menyimpan perubahan pada client maupun CSP, coba akses kembali custom domain Anda. Jika sebelumnya sudah membuka halaman login, muat ulang (refresh) browser agar konfigurasi terbaru terpakai.

FAQ

Status domain tidak berubah dari "Waiting for DNS" ke "Provisioning SSL", apa yang harus dilakukan?

Periksa kembali record CNAME pada DNS provider, pastikan Name dan Value sudah sesuai persis dengan yang ditampilkan AlurKerja serta Proxy status sudah DNS only. Tunggu beberapa menit agar DNS ter-propagasi, lalu klik Verify Domain kembali.

Muncul error "Invalid parameter: redirect_uri" saat mencoba login/akses domain baru, kenapa?

Error ini muncul karena redirect URI untuk domain baru belum terdaftar pada konfigurasi SSO Keycloak. Ikuti langkah pada bagian Konfigurasi SSO Keycloak untuk Custom Domain untuk menambahkan Valid redirect URI, Web origin, dan Content-Security-Policy domain tersebut. Jika Anda tidak memiliki akses ke Keycloak Admin Console, hubungi tim admin/infra dengan menyertakan custom domain yang telah didaftarkan.

Proxy status di Cloudflare tidak bisa diubah menjadi "DNS only", bagaimana solusinya?

Pastikan record yang ditambahkan bertipe CNAME, karena hanya record CNAME dan A yang mendukung fitur proxy. Pastikan juga akun Cloudflare Anda memiliki permission yang cukup untuk mengubah pengaturan record.

Domain sudah berstatus aktif tapi masih belum bisa diakses, apa penyebabnya?

Kemungkinan penyebabnya adalah cache DNS di perangkat atau browser Anda. Coba akses menggunakan mode incognito, ganti jaringan, atau flush DNS cache pada perangkat. Propagasi DNS secara umum selesai dalam beberapa menit, namun pada beberapa kasus bisa memakan waktu hingga 24 jam.

Apakah bisa menggunakan subdomain, bukan domain utama?

Bisa. Masukkan subdomain yang diinginkan (misalnya app.namadomain.com) pada kolom Workspace Domain, lalu tambahkan record CNAME dengan Name sesuai subdomain tersebut di DNS provider, mengikuti langkah yang sama seperti domain utama.

Upload sertifikat gagal, apa yang perlu diperiksa?

Pastikan sertifikat memenuhi syarat pada bagian Upload my certificate: format PEM valid, belum kedaluwarsa dan masih berlaku lebih dari 7 hari, cocok dengan domain yang didaftarkan, serta private key cocok dengan sertifikatnya. Pesan error yang muncul pada form menjelaskan syarat mana yang tidak terpenuhi.

Apa bedanya Automatic SSL dan Upload my certificate?

Pada Automatic SSL, AlurKerja menerbitkan sertifikat gratis via Let's Encrypt dan memperpanjangnya secara otomatis. Pada Upload my certificate, Anda memakai sertifikat sendiri (misalnya wildcard atau sertifikat dari CA berbayar) dan bertanggung jawab atas perpanjangannya. Gunakan opsi manual jika organisasi Anda mewajibkan sertifikat dari CA tertentu.