diff options
-rwxr-xr-x | bin/www | 25 | ||||
-rw-r--r-- | package.json | 1 |
2 files changed, 16 insertions, 10 deletions
@@ -3,11 +3,16 @@ const fs = require('fs') const app = require('../app') const http = require('http') -const https = require('https') +const https = require('spdy') + +const fileLocations = { + cert: '/etc/letsencrypt/live/rooster.hetmml.nl/fullchain.pem', + privkey: '/etc/letsencrypt/live/rooster.hetmml.nl/privkey.pem' +} function setupHTTPS () { - const certificate = fs.readFileSync('/etc/letsencrypt/live/rooster.hetmml.nl/fullchain.pem', 'utf8') - const privateKey = fs.readFileSync('/etc/letsencrypt/live/rooster.hetmml.nl/privkey.pem', 'utf8') + const certificate = fs.readFileSync(fileLocations.cert, 'utf8') + const privateKey = fs.readFileSync(fileLocations.privkey, 'utf8') const credentials = { key: privateKey, cert: certificate } const httpsPort = normalizePort(process.env.PORT_HTTPS || '3001') @@ -20,6 +25,11 @@ function setupHTTPS () { app.set('port', httpsPort) } +function redirectToHTTPS (req, res) { + res.writeHead(301, { 'Location': 'https://' + req.headers['host'] + req.url }) + res.end() +} + function setupHTTPSRedirect () { const httpPort = normalizePort(process.env.PORT || '3000') const httpServer = http.createServer(redirectToHTTPS) @@ -88,7 +98,7 @@ function onListening (server) { let useHTTPS = true try { - fs.accessSync('/etc/letsencrypt/live/rooster.hetmml.nl/privkey.pem') + fs.accessSync(fileLocations.privkey) } catch (e) { useHTTPS = false } @@ -102,11 +112,6 @@ if (useHTTPS) { setupHTTP() } } else { - console.warn('NOT USING HTTPS! Could not read /etc/letsencrypt/live/rooster.hetmml.nl/privkey.pem') + console.warn(`NOT USING HTTPS! Could not read ${fileLocations.privkey}`) setupHTTP() } - -function redirectToHTTPS (req, res) { - res.writeHead(302, { 'Location': 'https://' + req.headers['host'] + req.url }) - res.end() -} diff --git a/package.json b/package.json index 184d026..b1e56db 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "morgan": "~1.7.0", "request": "^2.74.0", "smoothscroll-polyfill": "^0.3.4", + "spdy": "^3.4.4", "then-yield": "0.0.1" }, "devDependencies": { |