Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create HTTPS server with node js

Tags:

I want to create a https server for my localhost.
Node JS documentation provides out of the box solution but I have some confusion with it. Example

var https = require('https'); var fs = require('fs');  var options = {   key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),   cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem') };  https.createServer(options, function (req, res) {   res.writeHead(200);   res.end("hello world\n"); }).listen(8000); 

Or

var options = {   pfx: fs.readFileSync('server.pfx') }; 

Here how would I get key, cert or pfx for my localhost?

like image 525
Himanshu Yadav Avatar asked May 17 '13 13:05

Himanshu Yadav


1 Answers

For development purposes you can create a self-certified certificate. Here's how to do it on a linux-based system:

First, generate a private key

openssl genrsa 1024 > key.pem 

This will store a 1024 bit RSA key in the file key.pem

Then, generate an SSL certificate with that key:

openssl req -x509 -new -key key.pem > key-cert.pem 

Now, you can use key.pem and key-cert.pem in the options you pass to createServer.

like image 79
Pasha Bitz Avatar answered Sep 19 '22 06:09

Pasha Bitz