Tuesday, 9 May 2017

Node.js generate LetsEncrypt.org SSL certificate with specific common name

I am currently trying to create a LetsEncrypt SSL certificate package using the node letsencrypt package (https://www.npmjs.com/package/letsencrypt). I have managed to generate a standard certificate suite using the following code.

'use strict';

var express = require('express');

var LE = require('letsencrypt');
var le;

// server = staging for test encryption cert generation
// server = production for generating verified certificate
var le = LE.create({ server: 'production' });

// Define encryption certificate options as JSON object
var opts = {
  domains: ['www.mydomain.com'], email: 'me@mydomain.com', agreeTos: true
};

// Submit certificate signing request to LetsEncrypt.
// Print certificates, keys (i.e. pem files) when received from server.
le.register(opts).then(function (certs) {
  console.log(certs);
  // privkey, cert, chain, expiresAt, issuedAt, subject, altnames
}, function (err) {
  console.error(err);
});

var app = express();

// Create server listening on port 80 to handle ACME challenges
// i.e. basic web server to serve files so CA can verify website ownership
app.listen(80, function () {
  console.log('Basic server started and listening on port 80');
  console.log('Server handling basic ACME protocol challenges');
});

// Allow access to all static files in server directory
// Enables CA to access file served up to verify domain ownership
app.use('/', le.middleware());

Which works fine and generates me a trusted certificate from LetsEncrypt.org when accessed via www.mydomain.com. However, when I try to access my website on my internal (local) network via 192.168.0.myserveraddress. I get the following error:

enter image description here

Does anyone know how I can modify the common name in the certificate request to LetsEncrypt to 192.168.0.myserveraddress so I don't get this error when accessing my website via our local area network?



via Josh

No comments:

Post a Comment