diff --git a/backend/configure-ssl.js b/backend/configure-ssl.js index 59dd3ec..0bb3dfa 100644 --- a/backend/configure-ssl.js +++ b/backend/configure-ssl.js @@ -4,8 +4,9 @@ const path = require('path') // if on glitch, force https module.exports = (app) => { var server + if(process.env.GLITCH) { - var http = require('http') + var http = require('http') server = http.createServer(app) function checkHttps(req, res, next){ @@ -19,11 +20,22 @@ module.exports = (app) => { app.all('*', checkHttps) } else { - var https = require('https') - var privateKey = fs.readFileSync(path.join(__dirname, '/certs/key.pem'), 'utf8') - var certificate = fs.readFileSync(path.join(__dirname, '/certs/certificate.pem'), 'utf8') - var credentials = {key: privateKey, cert: certificate} - server = https.createServer(credentials, app) + try { + var https = require('https') + var privateKey = fs.readFileSync(path.join(__dirname, '/certs/key.pem'), 'utf8') + var certificate = fs.readFileSync(path.join(__dirname, '/certs/certificate.pem'), 'utf8') + var credentials = {key: privateKey, cert: certificate} + server = https.createServer(credentials, app) + } catch (err) { + if (err.code === 'ENOENT') { + console.log("no TLS certificate at", err.path) + var http = require('http') + server = http.createServer(app) + } else { + throw err + } + } } + return server }