Setting Up SSL For The NPM Module http-server

Setting Up SSL For The NPM Module http-server

I normally use MAMP or Vagrant but recently I have been working exclusively with node and wanted to easily create a http server using ssl mainly for quick prototypes.

First setup your project create a directory cd into that directory and run.

npm init -y
npm i http-server

Now setup ssl with the following command.

openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem

Fill in all the details VERY IMPORTANT set your common name to here are my settings.

Country Name (2 letter code) []:GB
State or Province Name (full name) []:
Locality Name (eg, city) []:
Organization Name (eg, company) []:
Organizational Unit Name (eg, section) []:
Common Name (eg, fully qualified host name) []:
Email Address []

Now run your project with the following command.

http-server -S -C cert.pem -K key.pem

Make sure you use the outputted url that contains the common name to view your website.

If you hit any problems with chrome you can set it up to allow in-secured ssl.

In the Chrome address bar paste.


And update this option.

Consider add the http command to your package.json scripts.

"scripts": {
    "start": "http-server -S -C cert.pem -K key.pem"

Now you can just run.

npm start

Leave a comment