Pembangunan HTTPS Tempatan Menggunakan Sijil SSL Self-Signed
Apabila membangunkan dan menguji laman sesawang secara tempatan, mensimulasikan sambungan HTTPS seperti di persekitaran produksi adalah sangat penting. Walaupun sijil SSL self-signed tidak dipercayai oleh Autoriti Sijil (CA) awam, ia adalah cara yang mudah untuk mengaktifkan HTTPS di persekitaran pembangunan tempatan. Artikel ini menerangkan secara terperinci bagaimana anda boleh menggunakan alat OpenSSL yang disediakan oleh ServBay untuk menjana sijil SSL self-signed yang selamat dan cekap berasaskan kriptografi elliptic curve (ECC), serta cara mengkonfigurasikan sijil tersebut untuk laman sesawang tempatan anda dalam ServBay. Contoh yang digunakan adalah domain servbay.demo
.
Pemahaman tentang konfigurasi HTTPS membolehkan anda menguji tingkah laku laman web anda dalam persekitaran selamat, seperti pengendalian amaran kandungan bercampur, tanda keselamatan kuki dan sebagainya.
Ringkasan
Sijil self-signed ialah sijil SSL yang anda jana dan tandatangani sendiri, bukannya dikeluarkan oleh pihak ketiga yang dipercayai. Ia sesuai untuk kegunaan berikut:
- Persekitaran pembangunan tempatan
- Pelayan ujian dalaman
- Aplikasi dalaman yang tidak memproses data sensitif
ServBay menyepadukan alat OpenSSL untuk membantu anda menjana fail sijil secara terus melalui terminal.
Prasyarat
- ServBay telah dipasang dan dijalankan.
- Anda memahami operasi asas baris arahan.
Langkah 1: Menjana Sijil SSL ECC Self-Signed
Kami mengesyorkan penggunaan sijil ECC kerana ia menawarkan tahap keselamatan setara RSA dengan saiz kekunci lebih kecil, kelajuan tandatangan dan pengesahan lebih pantas, serta penggunaan sumber pengkomputeran yang lebih sedikit.
Berikut adalah langkah-langkah untuk menjana sijil SSL ECC self-signed anda:
Jana ECC Private Key (Kunci Peribadi ECC)
Buka aplikasi terminal anda dan jalankan arahan di bawah untuk menjana fail kekunci ECC bernama
servbay.demo.key
menggunakan lengkungprime256v1
.shopenssl ecparam -genkey -name prime256v1 -out servbay.demo.key
1openssl
: Memanggil utiliti OpenSSL.ecparam
: Mengurus parameter ECC.-genkey
: Menjana kekunci.-name prime256v1
: Menentukan nama lengkung ECC yang digunakan,prime256v1
(NIST P-256) adalah popular dan selamat.-out servbay.demo.key
: Nama fail kekunci peribadi output.
Jana Certificate Signing Request (CSR)
Gunakan fail kekunci peribadi
servbay.demo.key
tadi untuk menjana fail permintaan penandatanganan sijil (servbay.demo.csr
). CSR mengandungi maklumat yang akan dimasukkan ke dalam sijil (seperti domain dan nama organisasi) dan ditandatangani dengan kekunci peribadi anda.shopenssl req -new -key servbay.demo.key -out servbay.demo.csr
1Selepas memasukkan arahan, OpenSSL akan bertanyakan beberapa maklumat untuk mengisi CSR. Sila lengkapkan seperti yang diarahkan. Medan terpenting ialah
Common Name (e.g. server FQDN or YOUR name)
, di mana anda perlu masukkan domain tempatan anda, contohnyaservbay.demo
. Ruang lain boleh diisi berdasarkan keperluan atau contoh di bawah.Berikut contoh isian:
Country Name (2 letter code) [AU]:CN # Kod negara, contohnya CN (China) State or Province Name (full name) [Some-State]:Hong Kong # Negeri/Provinsi Locality Name (eg, city) []:Kowloon # Bandar Organization Name (eg, company) [Internet Widgits Pty Ltd]:ServBay # Nama organisasi Organizational Unit Name (eg, section) []:Development # Nama unit organisasi Common Name (e.g. server FQDN or YOUR name) []:servbay.demo # **Penting: masukkan domain tempatan anda** Email Address []:[email protected] # E-mel Please enter the following 'extra' attributes to be sent on in your certificate request A challenge password []: # Pilihan, biarkan kosong An optional company name []: # Pilihan, biarkan kosong
1
2
3
4
5
6
7
8
9
10
11Jana Sijil Self-Signed
Seterusnya, gunakan CSR (
servbay.demo.csr
) dan kekunci peribadi (servbay.demo.key
) untuk menjana sijil SSL self-signed (servbay.demo.crt
) dengan tempoh sah selama 365 hari.shopenssl x509 -req -days 365 -in servbay.demo.csr -signkey servbay.demo.key -out servbay.demo.crt
1openssl x509
: Utiliti untuk mengendalikan sijil format X.509.-req
: Input ialah CSR.-days 365
: Tempoh sah sijil (365 hari).-in servbay.demo.csr
: Fail CSR yang digunakan.-signkey servbay.demo.key
: Tandatangan sijil menggunakan kekunci peribadi anda (kerana self-signed).-out servbay.demo.crt
: Nama fail sijil output.
Selepas selesai, anda akan memperoleh tiga fail:
servbay.demo.key
(kekunci peribadi),servbay.demo.csr
(permintaan penandatangan sijil), danservbay.demo.crt
(sijil self-signed).
(Gambar contoh: Proses menghasilkan fail sijil menggunakan arahan OpenSSL dalam terminal)
Langkah 2: Konfigurasi Sijil SSL Self-Signed dalam ServBay
Selepas fail sijil dijana, anda perlu meletakkannya pada direktori yang boleh diakses oleh ServBay dan menentukan laluan fail ini dalam konfigurasi laman web ServBay. ServBay menggalakkan semua fail sijil SSL disimpan di /Applications/ServBay/ssl
, dengan subdirektori khusus bagi setiap domain untuk mudahkan pengurusan.
Pindahkan fail sijil ke direktori yang ditetapkan
Ikut struktur yang disarankan, pindahkan semua fail sijil ke
/Applications/ServBay/ssl/private/tls-certs/servbay.demo/
. Jika direktoriservbay.demo
belum wujud, cipta dahulu.sh# Cipta direktori jika belum wujud mkdir -p /Applications/ServBay/ssl/private/tls-certs/servbay.demo/ # Pindahkan fail mv servbay.demo.key /Applications/ServBay/ssl/private/tls-certs/servbay.demo/ mv servbay.demo.crt /Applications/ServBay/ssl/private/tls-certs/servbay.demo/ # Fail CSR biasanya tidak diperlukan, tetapi boleh dipindahkan untuk rujukan/backup mv servbay.demo.csr /Applications/ServBay/ssl/private/tls-certs/servbay.demo/
1
2
3
4
5
6
7
8/Applications/ServBay/ssl/
: Direktori utama fail SSL bagi ServBay.private/tls-certs/
: Struktur subdirektori yang disarankan untuk sijil TLS/SSL.servbay.demo/
: Satu direktori khas bagi setiap domain untuk pengurusan mudah.
Buka Antara Muka Pengurusan ServBay
Lancarkan aplikasi ServBay dan buka antaramuka pengurusannya.
Tambah atau Edit Konfigurasi Laman Web
Dalam panel pengurusan ServBay, pergi ke tab Websites (Laman Web). Jika tiada konfigurasi untuk
servbay.demo
, klik Add Website (Tambah Laman Web). Jika sudah wujud, pilih konfigurasi tersebut untuk disunting.Konfigurasi SSL/HTTPS
Dalam butiran konfigurasi laman web, cari seksyen SSL/HTTPS atau bahagian berkaitan.
Pilih Sumber Sijil sebagai Custom
Dalam opsyen jenis atau kaedah pengeluaran sijil SSL, pilih Custom (Sijil Tersuai).
Nyatakan laluan fail sijil
Isikan laluan penuh fail sijil yang telah anda pindahkan sebelum ini:
- Certificate Key File (Kekunci Peribadi Sijil): Masukkan atau cari ke
/Applications/ServBay/ssl/private/tls-certs/servbay.demo/servbay.demo.key
- Certificate File (Fail Sijil): Masukkan atau cari ke
/Applications/ServBay/ssl/private/tls-certs/servbay.demo/servbay.demo.crt
- Certificate Key File (Kekunci Peribadi Sijil): Masukkan atau cari ke
Tetapkan Domain
Pastikan medan Domain disetkan kepada
servbay.demo
.Simpan dan Laksana Konfigurasi
Simpan sebarang perubahan konfigurasi. ServBay akan meminta pengesahan untuk melaksanakan perubahan, biasanya ini akan melibatkan mulakan semula pelayan web (seperti Caddy atau Nginx). Sahkan dan teruskan.
(Gambar contoh: Konfigurasi laluan sijil SSL tersuai dalam panel pengurusan ServBay)
Sahkan Konfigurasi HTTPS
Selepas konfigurasi lengkap, anda boleh cuba akses https://servbay.demo/
menggunakan pelayar web untuk mengesahkan jika konfigurasi berjaya.
Disebabkan anda menggunakan sijil self-signed yang tidak dikeluarkan oleh CA awam yang dipercayai sistem operasi atau pelayar, pelayar anda akan memaparkan amaran keselamatan bahawa sijil tersebut tidak boleh dipercayai atau berisiko privasi. Ini adalah tingkah laku biasa.
(Gambar contoh: Amaran pelayar ketika melayari laman dengan sijil self-signed)
Anda boleh abaikan amaran dengan memilih “Advanced” atau “Teruskan”, atau anda boleh menambah sijil self-signed tersebut ke stor kepercayaan sistem operasi anda untuk mengelakkan amaran setiap kali.
(Gambar contoh: Memaparkan butiran sijil self-signed dalam pelayar)
Dengan melihat butiran sijil, anda boleh mengesahkan bahawa pelayar memang sedang menggunakan sijil servbay.demo
yang telah anda konfigurasikan.
Perkara Penting
- Keselamatan Kekunci Peribadi: Fail kekunci peribadi (
.key
) adalah sangat sensitif. Pastikan ianya disimpan dengan baik dan tidak didedahkan. Di persekitaran pembangunan, tetapkan keizinan fail supaya hanya boleh diakses oleh pengguna ServBay. - Laluan fail: Pastikan laluan fail sijil yang dinyatakan dalam konfigurasi ServBay lengkap dan betul.
- Padanan Domain: Domain yang diisi dalam medan Common Name (CN) ketika menjana sijil mesti sama dengan domain laman web yang anda tetapkan dalam ServBay, jika tidak pelayar akan melaporkan ralat domain tidak sepadan.
- Tempoh Sah Sijil: Tempoh sah sijil self-signed ditentukan ketika penjanaan (
-days
). Apabila tamat, anda perlu menjana dan konfigurasikan sijil baharu.
Topik Berkaitan & Alternatif
Walaupun sijil self-signed cukup untuk ujian HTTPS asas secara tempatan, untuk pengalaman yang lebih rapat dengan CA awam, anda boleh mempertimbangkan pilihan lain yang disediakan oleh ServBay:
- ServBay User CA: ServBay menyediakan alat CA peringkat pengguna. Anda boleh menambah User CA ini ke stor kepercayaan sistem operasi anda dan mendapatkan sijil untuk laman web tempatan daripada CA ini. Dengan cara ini, sijil tersebut akan dipercayai oleh sistem operasi dan pelayar anda, lalu mengelakkan amaran berkaitan self-signed. Sangat berguna untuk ujian seperti callback OAuth, Webhooks, atau apa saja yang memerlukan sijil dipercayai.
- ServBay Public CA: ServBay juga menyediakan fungsi CA awam yang boleh mengeluarkan sijil untuk domain tempatan dan secara automatik mengkonfigurasi kepercayaan dalam sistem.
Opsyen ini jauh lebih mudah untuk pengurusan pelbagai laman web tempatan berbanding kaedah manual. Sila rujuk dokumentasi ServBay untuk maklumat lanjut.
Soalan Lazim (FAQ)
- S: Mengapa pelayar masih papar “tidak selamat” walaupun sijil telah dijana?
- J: Sijil self-signed tidak dipercayai oleh CA awam, jadi pelayar akan memaparkan amaran secara automatik. Untuk mengelakkan ini, tambah sijil atau User CA (jika anda menggunakan ServBay User CA) ke stor kepercayaan sistem operasi anda.
- S: Bolehkan saya menggunakan sijil RSA?
- J: Ya. OpenSSL menyokong penjanaan sijil RSA menggunakan arahan seperti
openssl genrsa -out servbay.demo.key 2048
. Selepas itu, ikut langkah CSR dan penjanaan sijil seperti biasa. Namun, kami mengesyorkan ECC untuk prestasi yang lebih baik.
- J: Ya. OpenSSL menyokong penjanaan sijil RSA menggunakan arahan seperti
- S: Bagaimana untuk menambah sijil self-signed ke stor kepercayaan macOS?
- J: Buka aplikasi “Keychain Access” dan pilih “System” atau “Login”. Seret fail
.crt
ke Keychain. Klik dua kali pada sijil import, buka bahagian “Trust” dan pilih “Always Trust” untuk “Secure Socket Layer (SSL)”. Tutup tetingkap dan masukkan kata laluan jika diminta. Mulakan semula pelayar.
- J: Buka aplikasi “Keychain Access” dan pilih “System” atau “Login”. Seret fail
Kesimpulan
Dengan mengikuti panduan ini, anda telah mempelajari cara menghasilkan sijil SSL ECC self-signed menggunakan alat OpenSSL yang disepadukan dalam ServBay, serta mengkonfigurasikannya untuk laman web tempatan anda. Walaupun sijil self-signed sesuai untuk pembangunan dan ujian tempatan, ia adalah langkah penting untuk memahami cara HTTPS berfungsi dan mengaktifkan sambungan selamat. Untuk pengurusan kepercayaan yang lebih lancar, pertimbangkan penggunaan fungsi User CA dan Public CA oleh ServBay. Semoga panduan ini dapat memudahkan anda dalam pembangunan web secara tempatan.