From 4785ade1e232c93ffca4fb46598352e44b40391a Mon Sep 17 00:00:00 2001 From: Robbie Antenesse Date: Mon, 7 Jan 2019 11:47:15 -0700 Subject: [PATCH] Add setting to force redirect http to https --- server.js | 9 +++++++++ settings.example.json | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/server.js b/server.js index 8c3ca17..1ee6811 100644 --- a/server.js +++ b/server.js @@ -55,6 +55,15 @@ function Server () { if (fs.existsSync(path.resolve('./.well-known'))) { this.server.use('/.well-known', express.static(path.resolve('./.well-known'))); } + + if (this.https && settings.forceHTTPS) { + this.server.use(function (req, res, next) { + if (!req.secure) { + return res.redirect(['https://', req.get('Host'), req.baseUrl].join('')); + } + next(); + }); + } this.server.get('/', (req, res) => { const html = this.generateHomePage(req); diff --git a/settings.example.json b/settings.example.json index 53fb8cf..a54dbee 100644 --- a/settings.example.json +++ b/settings.example.json @@ -12,5 +12,6 @@ "hideVisitors": false, "sslPrivateKey": null, "sslCertificate": null, - "sslCertificateAuthority": null + "sslCertificateAuthority": null, + "forceHTTPS": false } \ No newline at end of file