Penyelesaian Masalah Sijil SSL & ServBay CA
Dokumen ini menyediakan cara mengenal pasti masalah biasa berkaitan sijil SSL serta ServBay CA dalam persekitaran pembangunan tempatan ServBay.
Kenapa pelayar menunjukkan amaran SSL tidak dipercayai?
Jika anda cuba mengakses laman web tempatan yang dihoskan melalui ServBay dan melihat mesej amaran seperti di bawah, ia biasanya bermakna terdapat isu pada konfigurasi sijil SSL:
- Chrome / Edge:
Your connection is not private
(Sambungan anda bukan sambungan peribadi)- Kod ralat
NET::ERR_CERT_AUTHORITY_INVALID
- Kod ralat
NET::ERR_CERT_COMMON_NAME_INVALID
(walaupun jarang, muncul jika nama sijil tidak sepadan dengan domain)
- Firefox:
Warning: Potential Security Risk Ahead
(Amaran: Risiko Keselamatan Berpotensi di Hadapan)- Selepas klik "Advanced", mungkin akan melihat kod ralat
SEC_ERROR_UNKNOWN_ISSUER
- Kod ralat
SSL_ERROR_BAD_CERT_DOMAIN
(jika sijil tidak sepadan dengan domain)
- Safari:
This Connection Is Not Private
(Sambungan ini bukan peribadi)Safari can't verify the identity of the website "your-domain.test"
(Safari tidak dapat sahkan identiti laman "domain-anda.test")
Punca utama masalah ini ialah ServBay User CA
dan ServBay Public CA
tidak dipasang serta dipercayai dengan betul. Ini boleh berlaku kerana:
- Sijil root ServBay belum ditambah ke senarai kepercayaan sistem.
- Anda pernah menggunakan domain yang sama (contoh
myapp.test
) pada persekitaran pembangunan lain seperti MAMP atau Laravel Herd, lalu sijil dari alatan tersebut bertembung dengan sijil ServBay, atau sistem sijil mereka bermasalah sehingga pelayar menyimpan maklumat kepercayaan atau sijil yang salah.
Langkah Penyelesaian
Ikuti langkah-langkah di bawah:
- Buka ServBay
- Navigasi ke Tetapan (Settings) dan cari seksyen ServBay Root CA.
- Klik Pasang semula ServBay Root CA (Reinstall ServBay Root CA). ServBay akan cuba membaiki masalah pemasangan serta kepercayaan sijil root secara automatik.
- Tutup sepenuhnya dan buka semula pelayar anda (Pastikan semua tetingkap dan proses ditutup sepenuhnya untuk hapus status SSL yang disimpan).
- Akses semula laman web anda. Ralat sijil SSL sepatutnya telah diselesaikan.
Jika masalah masih berlaku:
Ini biasanya bermaksud terdapat sijil lama, bercanggah, atau tidak sah dalam sistem anda, terutamanya jika anda pernah menjana sijil untuk domain yang sama menggunakan alat lain (seperti MAMP atau Herd).
- Buka alat pengurusan sijil pada sistem:
- macOS: Buka aplikasi Keychain Access (boleh didapati di "Applications" > "Utilities").
- Windows: Tekan kekunci Win+R, masukkan
certmgr.msc
dan tekan Enter untuk membuka pengurus sijil.
- Dalam kotak carian di bahagian atas kanan, taip domain bermasalah (cth.
myapp.test
, atau jika tidak pasti, cuba carimamp
,herd
dan lain-lain untuk mencari sijil berkaitan). - Penapis jenis kepada Certificates (Sijil).
- Dalam hasil carian, cari SEMUA sijil SSL berkaitan domain yang dimasukkan. Perhatikan siapa penerbit (Issuer) sama ada
ServBay User CA
,MAMP Development CA
,Laravel Herd CA
atau nama lain seumpama. - Pilih sijil berkaitan domain bermasalah (khususnya yang bukan diterbitkan oleh
ServBay User CA
atau yang kelihatan mencurigakan), kemudian tekan kekunciDelete
untuk padamkan. Anda mungkin perlu memasukkan kata laluan sistem untuk sahkan. Sila berhati-hati, hanya padamkan sijil yang berkaitan dengan domain pembangunan tempatan anda sahaja. - (Pilihan tetapi digalakkan) Cari semula
ServBay User CA
danServBay Public CA
di Keychain Access, pastikan sijil wujud serta tiada ikon "x" merah (menunjukkan tidak dipercayai). Jika tidak dipercayai, boleh cuba klik dua kali pada sijil, buka bahagian "Trust", dan setkan "When using this certificate" kepada "Always Trust". - Pergi semula ke aplikasi ServBay.
- Navigasi ke Tetapan (Settings) -> ServBay Root CA.
- Klik Recreate All ServBay User Certificates (Cipta Semula Semua Sijil Pengguna ServBay). ServBay akan jana semula sijil SSL terbaru untuk kesemua laman web diuruskan ServBay.
- Restart komputer anda. Ini membantu memastikan semua komponen sistem memuat sijil dan kepercayaan yang terkini.
- Buka semula pelayar dan cuba akses laman web anda semula.
Dengan menyenaraikan mesej ralat biasa di atas, pengguna dapat lebih pantas mengenal pasti sama ada masalah mereka berkait isu kepercayaan SSL dan terus mengikuti penyelesaian yang sesuai.
Apa yang perlu dilakukan jika sijil SSL hilang?
Semasa membangunkan laman web tempatan menggunakan ServBay, ada ketika anda berdepan isu sijil SSL laman web hilang secara tidak sengaja. Ini boleh menyebabkan pelayan web anda (seperti Nginx, Caddy atau Apache) gagal dimulakan atau gagal memuatkan laman dengan betul, manakala log menunjukkan ralat berkaitan sijil SSL.
Penerangan Masalah
Jika sijil SSL (.crt
dan .key
) yang dijana ServBay untuk laman tempatan anda hilang, anda mungkin akan melihat mesej ralat seperti berikut dalam log pelayan web. Biasanya, ia menunjukkan pelayan tidak dapat mencari atau mengakses fail sijil SSL di laluan yang ditetapkan.
Berikut contoh ralat biasa:
Ralat 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
Ralat 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
Ralat 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
Intipati semua mesej ralat di atas adalah: laluan fail sijil SSL yang dinyatakan dalam konfigurasi pelayan web tidak sah kerana fail tidak wujud atau gagal diakses.
Langkah Penyelesaian
Untuk sijil SSL yang dijana automatik oleh ServBay, anda boleh memanfaatkan fungsi diagnosis dan penjanaan semula yang tersedia untuk menyelesaikan masalah kehilangan sijil.
Ikuti langkah berikut:
- Buka aplikasi ServBay: Pastikan aplikasi ServBay berjalan.
- Pergi ke senarai laman web: Di sebelah kiri aplikasi ServBay, klik Laman Web.
- Pilih laman web bermasalah: Dalam senarai laman web, cari laman yang berdepan isu kehilangan sijil SSL dan klik padanya.
- Diagnosis & Penjanaan Semula Automatik: ServBay akan automatik mengesan sama ada fail sijil SSL diperlukan untuk laman tersebut wujud atau tidak semasa konfigurasi laman dibuka. Jika fail (
.crt
atau.key
) hilang, ServBay akan cuba secara automatik menjana dan memasang sijil baru ke laluan yang betul (/Applications/ServBay/ssl/private/tls-certs/nama-domain-anda/
). - Restart pelayan web: Selepas sijil berjaya dijana dan dipasang semula, anda perlu mulakan semula perisian pelayan web yang menyediakan laman (Nginx, Caddy, atau Apache). Navigasi ke halaman Pakej Perisian di sebelah kiri, cari pakej pelayan web yang digunakan, dan klik butang Restart (ikon anak panah bulat).
- Sahkan masalah selesai: Selepas pelayan web berjaya dimulakan semula, cuba akses laman web tempatan anda melalui HTTPS (cth.
https://nama-domain-anda
). masalah sepatutnya telah selesai dan laman boleh diakses seperti biasa.
Perhatian
- Langkah penyelesaian ini hanya sesuai untuk sijil SSL yang dijana automatik oleh ServBay untuk laman tempatan. Jika anda sendiri telah import sijil SSL khusus, ServBay tidak akan menjana semula secara automatik — anda perlu mendapatkan atau import fail sijil secara manual.
- ServBay menggunakan ServBay User CA terbina untuk menjana sijil bagi laman web tempatan, membolehkan HTTPS digunakan dalam persekitaran pembangunan. Jika anda tetap menerima amaran kepercayaan sijil di pelayar, ia mungkin bermakna ServBay User CA belum dipercayai oleh sistem operasi atau pelayar anda. Rujuk dokumentasi pengurusan sijil root SSL ServBay untuk langkah konfigurasi.
- ServBay menyediakan ciri backup data termasuk konfigurasi laman web dan sijil SSL. Kerap buat backup untuk memudahkan pemulihan data sekiranya berlaku masalah luar jangka.
Soalan Lazim (FAQ)
S: Kenapa ServBay menjana sijil SSL secara automatik untuk laman tempatan?
J: ServBay bertujuan menyediakan persekitaran pembangunan yang lengkap. Untuk meniru persekitaran produksi dan memudahkan debugging aplikasi HTTPS, ServBay akan secara automatik menjana sijil SSL menggunakan ServBay User CA bagi setiap laman web tempatan, membolehkan akses HTTPS tempatan.
S: Bolehkan saya gunakan sijil SSL yang saya mohon sendiri?
J: Ya, ServBay menyokong import dan penggunaan sijil SSL anda sendiri (termasuk sijil mohon melalui ACME/Let's Encrypt). Panduan penyelesaian masalah ini hanya tertakluk kepada sijil yang dijana ServBay secara automatik.
S: Adakah penjanaan semula sijil selamat?
J: Ya, untuk persekitaran pembangunan tempatan, sijil baru dijana menggunakan ServBay User CA dan hanya digunakan pada mesin anda untuk pembangunan dan ujian. Ia tidak menjejaskan keselamatan laman anda di internet.
Rumusan
ServBay menawarkan mekanisme mudah untuk mengurus sijil SSL dalam persekitaran pembangunan tempatan. Apabila sijil SSL laman web dijana ServBay hilang secara tidak sengaja, anda hanya perlu beberapa langkah sahaja untuk membolehkan ServBay mengesan dan menjana semula sijil tersebut secara automatik, seterusnya membantu anda memulihkan akses HTTPS ke laman web tempatan dengan pantas.