Menjalankan HTTPS secara lokal adalah suatu keharusan untuk jenis pengembangan tertentu.
Selama pengembangan, Anda mungkin ingin menyiapkan server web untuk menjalin koneksi yang aman dengan browser. Node.js menjadikan ini proses yang mudah, bahkan di lingkungan non-produksi, dengan bawaannya https modul.
Dalam produksi, Anda mungkin menyiapkan aplikasi Anda di belakang proxy terbalik seperti NGINX, yang biasanya menyediakan sertifikat untuk Anda. Tetapi Anda mungkin masih perlu menguji aplikasi Anda menggunakan https dalam pembangunan.
Bagaimana Anda bisa menggunakan sertifikat SSL di aplikasi Node.js?
Cara Menggunakan Sertifikat SSL untuk Mengembangkan Server Node.js yang Aman
Anda bisa dengan mudah buat sertifikat SSL yang ditandatangani sendiri di Linux, dan ikuti langkah-langkah di bawah ini untuk mengonfigurasi aplikasi Node yang akan digunakan
https.- Buat file titik masuk server misalnya index.js.
- Impor https Dan fs modul dalam file seperti ini:
const https = memerlukan('https');
const fs = memerlukan('fs') - Tentukan objek pilihan untuk https server yang akan Anda buat. Ingatlah untuk mengganti kunci-server-saya.pem Dan my-server-cert.pem dengan jalur yang benar dari kunci pribadi dan file sertifikat Anda.
const opsi = {
Untuk menggunakan sertifikat SSL asli, yang bisa Anda dapatkan secara gratis di letsencrypt.org, gunakan opsi berikut:
kunci: fs.readFileSync("kunci-server-saya.pem"),
sertifikat: fs.readFileSync("my-server-cert.pem")
}const opsi = {
kunci: fs.readFileSync("/path/ke/private.key"),
sertifikat: fs.readFileSync("/path/ke/ssl_certificate.crt"),
ca: [
fs.readFileSync("/path/ke/ca_root_file.crt"),
fs.readFileSync("/path/ke/ca_bundle_certificate.crt")
]
} - Sekarang inisialisasi server Anda menggunakan opsi dan atur agar mendengarkan di port 443.
https.createServer (opsi, (req, res) => {
res.writeHead(200);
res.end("halo dunia");
})
.mendengarkan(443);
Anda sekarang dapat memulai server Anda di terminal menggunakan node index.js. Saat Anda menguji koneksi dengan membuka https://localhost atau https://localhost: 443/ di browser Anda, Anda akan melihat 'Halo Dunia' ditampilkan.
Browser Anda juga dapat memperingatkan Anda tentang koneksi yang tidak aman saat menggunakan sertifikat yang ditandatangani sendiri. Ini normal karena sertifikat yang ditandatangani sendiri umumnya dianggap tidak aman oleh browser web.
Anda mungkin mendapatkan kesalahan "Kesalahan: dengarkan EACCES: izin ditolak 0.0.0.0:443" ketika Anda mencoba untuk memulai server Anda, ini karena mesin Anda menolak akses aplikasi ke port 443 yang merupakan perilaku default di sebagian besar perangkat. Untuk memperbaikinya, jalankan node index.js perintah sebagai pengguna root di Linux (sudo node index.js), atau buka terminal Anda sebagai administrator di Windows.
Menggunakan Sertifikat SSL di Aplikasi Node.js
Sering kali, Anda hanya ingin menambahkan sertifikat SSL selama tahap pengembangan. Persyaratan produksi biasanya memerlukan pemasangan alat keamanan seperti firewall dan proksi terbalik.
Dengan cara ini, penggunaan sertifikat SSL untuk aplikasi Anda tidak lagi diperlukan. Anda mungkin hanya ingin menambahkan sertifikat SSL dalam produksi jika aplikasi Anda berkomunikasi dengan layanan eksternal.