falling back to HTTP if no certificate is found

This commit is contained in:
tpltnt
2022-10-25 21:41:42 +02:00
parent 794014a87f
commit c92cd9c090

View File

@@ -4,8 +4,9 @@ const path = require('path')
// if on glitch, force https // if on glitch, force https
module.exports = (app) => { module.exports = (app) => {
var server var server
if(process.env.GLITCH) { if(process.env.GLITCH) {
var http = require('http') var http = require('http')
server = http.createServer(app) server = http.createServer(app)
function checkHttps(req, res, next){ function checkHttps(req, res, next){
@@ -19,11 +20,22 @@ module.exports = (app) => {
app.all('*', checkHttps) app.all('*', checkHttps)
} else { } else {
var https = require('https') try {
var privateKey = fs.readFileSync(path.join(__dirname, '/certs/key.pem'), 'utf8') var https = require('https')
var certificate = fs.readFileSync(path.join(__dirname, '/certs/certificate.pem'), 'utf8') var privateKey = fs.readFileSync(path.join(__dirname, '/certs/key.pem'), 'utf8')
var credentials = {key: privateKey, cert: certificate} var certificate = fs.readFileSync(path.join(__dirname, '/certs/certificate.pem'), 'utf8')
server = https.createServer(credentials, app) 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 return server
} }