Ebook NodeJS Notes for Professionals Bagian 1.11: Cara mendapatkan dan menjalankan server web HTTPS dasar!

Ebook NodeJS Notes for Professionals Bagian 1.11: Cara mendapatkan dan menjalankan server web HTTPS dasar!


Setelah menginstal node.js di sistem, kita bisa mengikuti prosedur di bawah ini untuk menjalankan server web dasar dengan dukungan untuk HTTP dan HTTPS!

Langkah 1: Bangun Otoritas Sertifikat

1. buat folder/direktori di Documents/nodejs untuk menyimpan kunci & sertifikat kita:

mkdir conf

2. buka direktori itu:

cd conf

3. ambil file ca.cnf ini untuk digunakan sebagai konfigurasi:

wget https://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/ca.cnf

4. buat otoritas sertifikat baru menggunakan konfigurasi ini:

openssl req -new -x509 -days 9999 -config ca.cnf -keyout ca-key.pem -out ca-cert.pem 

5. sekarang setelah memiliki otoritas sertifikat di ca-key.pem dan ca-cert.pem, mari buat private key untuk server:

openssl genrsa -out key.pem 4096

6. ambil file server.cnf ini untuk digunakan sebagai konfigurasi:

wget https://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/server.cnf 

7. hasilkan permintaan penandatanganan sertifikat menggunakan konfigurasi ini:

openssl req -new -config server.cnf -key key.pem -out csr.pem

8. menandatangani permintaan:

openssl x509 -req -extfile server.cnf -days 999 -passin "pass:password" -in csr.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem

Langkah 2: Instal sertifikat sebagai sertifikat root

1. salin sertifikat ke folder sertifikat root kita:

sudo cp ca-cert.pem /usr/local/share/ca-certificates/ca-cert.pem

2. perbarui CA store:

sudo update-ca-certificates 

Langkah 3: Memulai server Node 

Pertama, kita membuat file server.js di Documents/nodejs yang berisi kode server yang sebenarnya.
Pengaturan minimal untuk server HTTPS di NodeJS akan menjadi seperti ini:

var https = require('https');
var fs = require('fs');
var httpsOptions = {
key: fs.readFileSync('conf/key.pem'),
cert: fs.readFileSync('conf/cert.pem')
};
var app = function (req, res) {
res.writeHead(200);
res.end("hello world\n");
}
https.createServer(httpsOptions, app).listen(4433);

Jika kita juga ingin mendukung permintaan http, kita hanya perlu membuat modifikasi kecil ini:

var http = require('http');
var https = require('https');
var fs = require('fs');
var httpsOptions = {
key: fs.readFileSync('conf/key.pem'),
cert: fs.readFileSync('conf/cert.pem')
};
var app = function (req, res) {
res.writeHead(200);
res.end("hello world\n");
}
http.createServer(app).listen(8888);
https.createServer(httpsOptions, app).listen(4433);

1. pergi ke direktori di mana server.js berada:

cd /path/to

2. jalankan server.js:

node server.js


Kembali ke Tutorial NodeJS : Membedah Ebook NodeJS Notes For Professionals
LihatTutupKomentar