X

NodeJs + Express és a HTTPS

Előfordulhat, hogy szükségünk van egy SSL-es webszerverre a NodeJs-es környezetünkben. Ugyebár webszervert Express-szel a legegyszerűbb készíteni, ami így néz ki:

var app = require('express')(),
    server = require('http').createServer(app);
io = require('socket.io').listen(server);

server.listen(8080);

app.get('/', function (req, res) {
  res.sendfile(__dirname + '/index.html');
});

De ha titkosított csatornára van szükségünk, akkor először is generálnunk kell tanúsítványt magunknak:

$ openssl genrsa -out brainextension-key.pem 1024 
$ openssl req -new -key brainextension-key.pem -out certrequest.csr
$ openssl x509 -req -in certrequest.csr -signkey brainextension-key.pem -out brainextension-cert.pem
Majd jöhet a kód, amely felhasználja ezt a tanúsítványt és a 8080-as porton fog működni. Abban az esetben, ha a szabványos 443-as portot szeretnénk használni, tudnunk kell azt, hogy ezt csak akkor fogja engedni a Node, ha root-ként futtatjuk az alkalmazásunkat. Ellenkező esetben hibaüzenettel le fog állni.
var fs = require('fs'),
    http = require('https');

var privateKey = fs.readFileSync('brainextension-key.pem').toString(),
    certificate = fs.readFileSync('brainextension-cert.pem').toString();
var credentials = {
                    key: privateKey, 
                    cert: certificate
                  };

var express = require('express'),
    server = express();

var https = http.createServer(credentials, server),
    io = require('socket.io').listen(https);

https.listen(8080);

server.get('/', function (req, res) {
  res.sendfile(__dirname + '/index.html');
});

Készen is vagyunk. Lehet futtatni és meghívni.

 

Hasonló cikkek

NodeJs NPM – A nyakkendős modulraktáros A előző NodeJs postban a modulokat taglaltam. Most nézzük meg, hogy mi van, ha nem mi írunk magunknak, hanem már előre elkészített modul-csomagokat sz...
MucsaPlex, avagy Plex szerver RaspberryPi 3-on Csak a kíváncsiság kedvéért összeraktam egy rPi3-as Plex szervert, mivel kíváncsi voltam, hogy hogyan muzsikál egy ilyen jószág a rettegett erőforrási...
NodeJs – Modulok Egy korábbi post-ban bemutattam, hogy mi is a NodeJs és hogyan kell telepíteni, valamint túl vagyunk az első "Hello World!" programunkon is. A mostani...
Git szerver telepítés Synology NAS-on Az otthoni munkáim során is szükség van verziókövető rendszerre a fejlesztéseknél. A legkézenfekvőbb megoldás, hogy a már amúgy is használatban lévő N...
Sas Sam:
Related Post