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

APE Server – 1. rész: A Majom leszállt Tegnap Friday afternoon Project keretén belül elkezdtem feltelepíteni egy APE szervert. Már rég óta tervezem ezt, de eddig még nem jutott rá időm sajn...
Git repository költöztetés Néha előfordul olyan eset, hogy egy komplett repot át kell költöztetni egy másik Git szerverre. Ilyenkor jön a fejvakarás, hogy nehogy elszúrjunk vala...
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......
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...