Penyelesaian Masalah Sijil SSL & ServBay CA
Dokumen ini menyediakan panduan menyelesaikan masalah serta isu lazim berkaitan sijil SSL dan ServBay CA dalam persekitaran pembangunan tempatan ServBay.
Kenapa pelayar menunjukkan sijil SSL tidak dipercayai?
Jika anda cuba melawat laman web tempatan yang dihoskan melalui ServBay dalam pelayar dan menerima amaran seperti di bawah, ini biasanya disebabkan masalah konfigurasi sijil SSL:
- Chrome / Edge:
Your connection is not private
(Sambungan anda tidak selamat)- Kod ralat
NET::ERR_CERT_AUTHORITY_INVALID
- Kod ralat
NET::ERR_CERT_COMMON_NAME_INVALID
(Jarang berlaku namun boleh terjadi jika sijil tidak sepadan dengan domain)
- Firefox:
Warning: Potential Security Risk Ahead
(Amaran: Risiko Keselamatan Berpotensi)- Selepas klik “Advanced” mungkin lihat 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 Persendirian)Safari can't verify the identity of the website "your-domain.test"
(Safari tidak dapat mengesahkan identiti laman web "nama-domain-anda.test")
Punca utama masalah ini ialah ServBay User CA
dan ServBay Public CA
tidak dipasang atau tidak dipercayai dengan betul. Ini boleh berlaku kerana:
- Sijil root ServBay belum ditambah dalam senarai kepercayaan sistem.
- Anda pernah menggunakan domain yang sama (contohnya
myapp.test
) dalam persekitaran pembangunan tempatan lain seperti MAMP / Laravel Herd, yang mana sijil mereka bercanggah dengan sijil ServBay, atau sistem sijil alat-alat tersebut mempunyai masalah menyebabkan maklumat kepercayaan/disijil yang salah di-cache dalam pelayar.
Penyelesaian
Sila ikut langkah di bawah:
- Buka ServBay
- Pergi ke Setting, cari bahagian ServBay Root CA.
- Klik pada Reinstall ServBay Root CA (Pasang Semula ServBay Root CA). ServBay akan cuba membaiki masalah pemasangan dan kepercayaan sijil root secara automatik.
- Tutup sepenuhnya dan buka semula pelayar anda (pastikan semua tetingkap & proses sudah ditutup untuk mengosongkan cache status SSL).
- Cuba akses semula laman web anda. Ralat sijil SSL seharusnya sudah diselesaikan.
Jika masalah masih berlaku:
Ini biasanya bermakna masih ada 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) sebelum ini.
- Buka aplikasi Keychain Access di macOS (boleh cari di “Aplikasi” > “Utiliti”).
- Dalam kotak carian di kanan atas, masukkan nama domain yang mengalami masalah (contoh:
myapp.test
, atau jika tidak pasti, anda boleh cuba carimamp
atauherd
dan cari sijil-sijil berkaitan CA). - Pada bahagian atas, tapis dengan memilih Certificates (Sijil).
- Dalam hasil carian, cari semua sijil SSL berkaitan domain yang dimasukkan. Ambil perhatian khusus pada Issuer (Penerbit) sama ada
ServBay User CA
,MAMP Development CA
,Laravel Herd CA
atau nama lain yang serupa. - Pilih semua sijil berkaitan domain bermasalah tadi (terutama jika bukan dikeluarkan oleh
ServBay User CA
ataupun sijil yang kelihatan mencurigakan), kemudian tekan kekunciDelete
untuk padam. Anda mungkin perlu masukkan kata laluan sistem. Sila berhati-hati, hanya padam sijil berkaitan domain pembangunan tempatan anda. - (Pilihan tetapi disyorkan): Cari
ServBay User CA
danServBay Public CA
sekali lagi di Keychain Access, pastikan sijil ini wujud dan tiada tanda "x" merah pada ikon (tanda tidak dipercayai). Jika tidak dipercayai (ada palang merah), cuba klik dua kali sijil, buka bahagian "Trust", dan setkan “When using this certificate” kepada “Always Trust”. - Kembali ke aplikasi ServBay.
- Navigasi ke Settings -> ServBay Root CA.
- Klik Recreate All ServBay User Certificates (Cipta Semula Semua Sijil Pengguna ServBay). Ini akan menjana semula sijil SSL baharu untuk semua laman web di bawah kawalan ServBay.
- Restart Mac anda. Ini membantu memastikan semua servis & komponen sistem memuatkan sijil terkini dan tetapan kepercayaan.
- Buka semula pelayar dan cuba akses laman web anda sekali lagi.
Dengan menambah maklumat ralat yang biasa muncul, pengguna boleh dengan cepat menentukan sama ada masalah mereka berkaitan kepercayaan sijil SSL dan terus ke penyelesaian yang sesuai.
Bagaimana jika fail sijil SSL hilang?
Semasa menggunakan ServBay untuk pembangunan laman web tempatan, kadangkala fail sijil SSL laman web anda mungkin hilang secara tidak sengaja. Ini menyebabkan pelayan web anda (seperti Nginx, Caddy atau Apache) gagal dimulakan atau tidak dapat memuatkan laman web dengan betul, lalu keluar ralat berkaitan fail sijil dalam log pelayan.
Penerangan Masalah
Apabila fail sijil SSL (.crt
dan .key
) yang dijana automatik oleh ServBay untuk laman web tempatan anda hilang, anda mungkin akan menemui mesej seperti berikut dalam log ralat pelayan web anda. Kesemua ralat ini menunjukkan pelayan anda gagal menemui atau membaca fail sijil pada laluan yang ditetapkan.
Beberapa contoh ralat lazim:
Mesej 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
Mesej 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
Mesej 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 ini ialah: laluan fail sijil SSL yang ditetapkan dalam konfigurasi pelayan web tidak sah kerana fail itu tiada atau tidak boleh dicapai.
Penyelesaian
Untuk sijil SSL yang dijana secara automatik oleh ServBay untuk laman web tempatan, ServBay menyediakan mekanisme pengesanan automatik serta penjanaan semula untuk mengatasi masalah fail sijil hilang.
Sila lakukan langkah berikut:
- Mulakan aplikasi ServBay: Pastikan ServBay sedang berjalan.
- Pergi ke senarai laman web: Dalam bar navigasi kiri aplikasi ServBay, klik pada Website.
- Pilih laman web terjejas: Cari dan klik pada nama laman web tempatan yang menghadapi masalah sijil SSL.
- Pengesan & Penjanaan Automatik: Semasa memuatkan konfigurasi laman web, ServBay akan mengesan secara automatik sama ada fail sijil SSL wujud atau tidak. Jika terjumpa kehilangan fail sijil (
.crt
atau.key
tiada), ServBay akan cuba menjana dan meletakkan fail sijil baru secara automatik ke laluan yang betul (/Applications/ServBay/ssl/private/tls-certs/nama-domain-anda/
). - Mulakan semula pelayan web: Selepas fail sijil berjaya dijana & diletakkan, anda perlu mulakan semula perisian pelayan web yang digunakan untuk laman tersebut (seperti Nginx, Caddy atau Apache) supaya ia boleh memuatkan sijil yang baru. Navigasi ke halaman Packages di bar navigasi kiri, cari pakej pelayan web yang digunakan, dan klik butang restart (selalunya ikon anak panah berpusing).
- Sahkan masalah selesai: Selepas pelayan web berjaya dimulakan semula, cuba akses laman web tempatan anda melalui HTTPS dalam pelayar (contoh:
https://nama-domain-anda
). Masalah seharusnya telah selesai dan laman boleh dimuatkan dengan sambungan HTTPS yang sah.
Perhatian
- Penyelesaian ini khusus untuk sijil SSL yang dijana secara automatik oleh ServBay untuk laman web tempatan. Jika anda menggunakan sijil SSL tersuai yang diimport sendiri, ServBay tidak akan menjana semula secara automatik – anda perlu mendapatkan semula dan mengimport sijil tersebut secara manual.
- ServBay menggunakan
ServBay User CA
terbina dalam untuk menandatangani sijil laman web tempatan bagi membolehkan mod HTTPS di persekitaran pembangunan. Jika pelayar masih memaparkan amaran sijil tidak dipercayai apabila anda melawat laman HTTPS tempatan, ini kemungkinan berkaitanServBay User CA
belum dipercayai oleh sistem atau pelayar. Sila rujuk dokumen aset kepercayaan ServBay CA untuk langkah konfigurasi. - ServBay membekalkan fungsi salinan sandaran (backup) data; termasuk konfigurasi laman web & sijil SSL. Amalan membuat salinan sandaran secara berkala membantu pemulihan pantas jika berlaku masalah.
Soalan Lazim (FAQ)
S: Kenapa ServBay secara automatik menjana sijil SSL untuk laman web tempatan?
J: Objektif utama ServBay ialah untuk menyediakan persekitaran pembangunan tempatan yang lengkap. Bagi membantu pembangun menguji aplikasi HTTPS dan mensimulasikan keadaan sebenar, ServBay menjana sijil SSL automatik dengan ServBay User CA
untuk laman web tempatan anda, supaya anda dapat menggunakan HTTPS secara selamat.
S: Bolehkah saya menggunakan sijil SSL milik sendiri?
J: Ya, ServBay menyokong import dan penggunaan sijil SSL milik anda sendiri (termasuk sijil daripada ACME / Let's Encrypt). Panduan penyelesaian masalah ini hanya terpakai kepada sijil yang dijana secara automatik oleh ServBay.
S: Adakah selamat menjana semula sijil?
J: Ya, untuk persekitaran pembangunan tempatan, sijil yang dijana semula masih ditandatangani oleh ServBay User CA
dan hanya digunakan untuk pembangunan serta ujian tempatan. Ini tidak akan menjejaskan keselamatan laman web anda di internet awam.
Rumusan
ServBay menawarkan mekanisme mudah untuk pengurusan sijil SSL dalam persekitaran pembangunan tempatan. Apabila sijil SSL untuk laman web tempatan yang dijana secara automatik hilang secara tidak sengaja, hanya dengan beberapa langkah mudah, ServBay boleh mengesan dan menjana semula sijil, membantu anda memulihkan sambungan HTTPS yang selamat ke laman web tempatan anda dengan pantas.