Troubleshooting Sertifikat SSL dan ServBay CA
Dokumen ini berisi berbagai masalah umum dan cara mengatasi sertifikat SSL serta ServBay CA di lingkungan pengembangan lokal ServBay.
Kenapa saat membuka browser muncul peringatan sertifikat SSL tidak tepercaya?
Jika saat Anda mengakses situs lokal yang di-host oleh ServBay melalui browser muncul peringatan seperti berikut, kemungkinan besar ada masalah konfigurasi sertifikat SSL:
- Chrome / Edge:
Your connection is not private
(Koneksi Anda tidak aman)- Kode error
NET::ERR_CERT_AUTHORITY_INVALID
- Kode error
NET::ERR_CERT_COMMON_NAME_INVALID
(meski jarang, bisa muncul jika sertifikat tidak cocok dengan nama domain)
- Firefox:
Warning: Potential Security Risk Ahead
(Peringatan: Risiko Keamanan Potensial)- Setelah klik “Advanced”, mungkin terlihat kode error
SEC_ERROR_UNKNOWN_ISSUER
- Kode error
SSL_ERROR_BAD_CERT_DOMAIN
(jika domain tidak sesuai dengan sertifikat)
- Safari:
This Connection Is Not Private
(Koneksi ini tidak privat)Safari can't verify the identity of the website "your-domain.test"
(Safari tidak dapat memverifikasi identitas situs “your-domain.test”)
Penyebab utama masalah ini adalah karena ServBay User CA
dan ServBay Public CA
belum terpasang dan dipercaya dengan benar. Hal ini bisa terjadi karena:
- Sertifikat root ServBay belum ditambahkan ke daftar trusted di sistem operasi Anda.
- Pernah menggunakan tools pengembangan lokal lain seperti MAMP atau Laravel Herd dengan domain yang sama (misal
myapp.test
), sehingga terjadi konflik antara sertifikat dari tool-tool tersebut dan ServBay, atau ada masalah pada sistem sertifikat, menyebabkan browser menyimpan informasi trust atau sertifikat yang salah.
Cara Mengatasinya
Lakukan langkah-langkah berikut:
- Buka ServBay
- Masuk ke Settings, lalu cari bagian ServBay Root CA.
- Klik Reinstall ServBay Root CA (Instal ulang ServBay Root CA). ServBay akan mencoba memperbaiki masalah instalasi dan trust pada sertifikat root secara otomatis.
- Tutup semua browser dan buka kembali (pastikan semua window dan proses browser benar-benar tertutup agar status SSL yang tersimpan bisa dibersihkan).
- Coba akses kembali situs Anda. Seharusnya masalah sertifikat SSL sudah teratasi.
Jika masih bermasalah:
Biasanya, masalah ini karena ada sertifikat lama, saling bertabrakan, atau tidak valid di sistem Anda, terutama jika Anda pernah menggunakan tools lain (seperti MAMP atau Herd) untuk membuat sertifikat domain yang sama.
- Buka aplikasi pengelola sertifikat sistem:
- macOS: Buka aplikasi Keychain Access (temukan di "Applications" > "Utilities").
- Windows: Tekan Win+R, tulis
certmgr.msc
, lalu Enter untuk membuka sertifikat manager.
- Pada kotak pencarian di bagian kanan atas, masukkan nama domain yang bermasalah (misalnya
myapp.test
; jika tidak yakin, coba cari dengan kata kunci sepertimamp
atauherd
untuk mencari CA terkait). - Pada bagian opsi jenis, pilih Certificates/surat digital.
- Di hasil pencarian, cari semua sertifikat SSL terkait domain yang Anda masukkan. Perhatikan pola Issuer (penerbit) apakah dari
ServBay User CA
,MAMP Development CA
,Laravel Herd CA
, atau nama sejenis lainnya. - Pilih semua sertifikat yang terkait dengan domain bermasalah (khususnya yang bukan dari
ServBay User CA
atau terlihat mencurigakan), lalu tekan tombolDelete
untuk menghapus. Anda mungkin perlu memasukkan password sistem untuk konfirmasi. Lakukan dengan hati-hati, hanya hapus sertifikat yang terkait ke domain lokal pengembangan Anda! - (Opsional tapi direkomendasikan), di Keychain Access cari lagi
ServBay User CA
danServBay Public CA
, pastikan ada dan tidak ada ikon "x" merah (artinya tidak trusted). Kalau masih tidak trusted (ada tanda silang), Anda bisa double-click sertifikat, buka bagian “Trust”, kemudian set “When using this certificate” ke “Always Trust”. - Kembali ke aplikasi ServBay.
- Navigasi ke Settings -> ServBay Root CA.
- Klik Recreate All ServBay User Certificates (Buat ulang semua sertifikat user ServBay). Seluruh sertifikat SSL ServBay untuk website Anda akan digenerate ulang otomatis.
- Restart komputer Anda. Hal ini membantu memastikan seluruh layanan dan komponen sistem sudah reload dengan sertifikat dan trust terbaru.
- Buka browser kembali, coba akses situs Anda lagi.
Dengan mengetahui berbagai pesan error umum ini, pengguna bisa lebih cepat mengenali apakah masalah yang dihadapi terkait dengan trust pada sertifikat SSL, dan langsung menemukan solusi yang sesuai.
Apa yang harus dilakukan jika sertifikat SSL hilang?
Saat melakukan pengembangan website lokal menggunakan ServBay, kadang Anda bisa mengalami kejadian dimana file sertifikat SSL situs hilang secara tidak sengaja. Hal ini akan menyebabkan web server Anda (misal Nginx, Caddy, atau Apache) gagal berjalan atau tidak bisa mengakses website, serta muncul pesan error pada log yang terkait file sertifikat.
Deskripsi Masalah
Jika sertifikat SSL otomatis (.crt dan .key) yang dibuat ServBay untuk situs lokal Anda hilang, maka file config server pada log error biasanya akan menampilkan pesan seperti berikut. Pesan ini menandakan server tidak bisa menemukan path file sertifikat yang dimaksud.
Beberapa contoh pesan error umum:
Pesan error Nginx:
log
nginx: [emerg] cannot load certificate "/Applications/ServBay/ssl/private/tls-certs/servb3ay.host/servbay.host.crt": BIO_new_file() failed (SSL: error:80000002:system library::No such file or directory:calling fopen(/Applications/ServBay/ssl/private/tls-certs/servb3ay.host/servbay.host.crt, r) error:10000080:BIO routines::no such file)
nginx: configuration file /Applications/ServBay/package/etc/nginx/nginx.conf test failed
1
2
2
Pesan error Caddy:
log
Error: loading http app module: provision http: getting tls app: loading tls app module: provision tls: loading certificates: open /Applications/ServBay/ssl/private/tls-certs/servbay.host/ser3vbay.host.crt: no such file or directory
1
Pesan error Apache:
log
AH00526: Syntax error on line 15 of /Applications/ServBay/package/etc/apache/vhosts/servbay.host.conf:
SSLCertificateFile: file '/Applications/ServBay/ssl/pri3vate/tls-certs/servbay.host/servbay.host.crt' does not exist or is empty
1
2
2
Inti dari pesan error di atas sama: konfigurasi server mengarah pada path sertifikat SSL yang tidak ada atau tidak dapat diakses.
Solusi
Untuk sertifikat SSL yang otomatis dibuat oleh ServBay, tersedia mekanisme deteksi dan penerbitan ulang secara otomatis untuk mengatasi masalah sertifikat yang hilang.
Berikut langkah mengatasinya:
- Jalankan aplikasi ServBay: Pastikan ServBay sudah running.
- Masuk ke daftar website: Di menu navigasi kiri ServBay, klik Situs/Websites.
- Pilih website yang bermasalah: Cari nama situs lokal Anda yang mengalami masalah sertifikat SSL, lalu klik pada situs tersebut.
- Deteksi dan penerbitan otomatis: Saat ServBay memuat konfigurasi situs, ia akan otomatis mendeteksi apakah file sertifikat SSL situs tersebut masih ada. Jika file
.crt
atau.key
hilang, ServBay akan otomatis menerbitkan ulang dan mendistribusikan file sertifikat baru ke path yang benar (/Applications/ServBay/ssl/private/tls-certs/nama-domain-anda/
). - Restart web server: Setelah file sertifikat berhasil digenerate dan dipasang, restart web server package (Nginx, Caddy, atau Apache) yang Anda gunakan agar mengenali sertifikat baru. Buka halaman Packages/Software di sidebar kiri ServBay, cari server web yang Anda pakai, lalu klik tombol restart (biasanya bergambar panah lingkaran).
- Pastikan masalah beres: Setelah web server sukses direstart, buka website Anda via browser menggunakan HTTPS (misal
https://nama-domain-anda
). Situs seharusnya sudah bisa diakses dengan koneksi HTTPS yang aman.
Catatan Penting
- Solusi ini khusus untuk sertifikat SSL yang otomatis diterbitkan oleh ServBay. Jika Anda menggunakan sertifikat SSL custom (buatan sendiri), setelah hilang sertifikat ServBay tidak akan otomatis menggendong sertifikat baru—Anda harus mengimport atau membuat ulang sendiri file sertifikatnya.
- ServBay menggunakan CA bawaan ServBay User CA untuk menerbitkan sertifikat website lokal, sehingga memungkinkan HTTPS berjalan di lingkungan pengembangan. Jika browser Anda masih menampilkan peringatan warning sertifikat SSL tidak terpercaya saat mengakses HTTPS lokal, kemungkinan ServBay User CA belum dipercaya oleh sistem operasi atau browser Anda. Silakan cek dokumentasi Trust ServBay CA untuk panduan konfigurasi trust.
- ServBay menyediakan fitur backup data untuk konfigurasi website dan sertifikat SSL. Lakukan backup rutin agar bila terjadi masalah bisa mengembalikan data dengan cepat.
FAQ (Pertanyaan Umum)
Q: Kenapa ServBay otomatis menerbitkan sertifikat SSL untuk website lokal?
A: Tujuan ServBay adalah menyediakan lingkungan pengembangan lokal yang lengkap. Agar developer bisa simulasi lingkungan produksi dan testing aplikasi HTTPS dengan mudah, ServBay secara otomatis membuat sertifikat SSL untuk setiap website yang Anda buat menggunakan CA internalnya sendiri—ServBay User CA—sehingga dapat diuji dengan HTTPS lokal.
Q: Bolehkah memakai sertifikat SSL milik saya sendiri?
A: Tentu. ServBay mendukung import sertifikat SSL milik Anda sendiri (termasuk sertifikat dari ACME/Let's Encrypt). Panduan ini hanya berlaku untuk sertifikat yang otomatis dibuat ServBay.
Q: Apakah aman menerbitkan ulang sertifikat SSL?
A: Sangat aman untuk kebutuhan pengembangan lokal. Sertifikat hasil re-issue dari ServBay hanya berlaku di komputer Anda sendiri dan tidak memengaruhi keamanan situs ketika live di internet publik.
Kesimpulan
ServBay menyediakan cara praktis untuk mengelola sertifikat SSL di lingkungan pengembangan lokal. Jika sertifikat SSL website lokal buatan ServBay hilang secara tidak sengaja, Anda cukup mengikuti beberapa langkah mudah untuk mendeteksi dan menerbitkan ulang sertifikat, sehingga website dapat segera kembali diakses dengan aman melalui HTTPS.