NodeJs + Express és a HTTPS

By | 2013. április 23.

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

Hogyan csináljunk videót képekből Windowson Adott egy könyvtár, amiben van több száz alkönyvtár, amelyek mindegyikében van több ezer jpg kép. Ezekből kellene videót gyártani... automatizáltan......
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...
3-way merge tool Git-hez – P4Merge Aki már dolgozott verziókövető rendszerekkel, tudja, hogy amikor kódot írunk, ráadásul nem egyedül, hanem csapatban fejlesztünk, óhatatlan, hogy egy m...