From 50f1e04a7cf552214a70ce34f37f04df9dac2611 Mon Sep 17 00:00:00 2001 From: Richter Date: Sun, 10 Mar 2019 09:34:46 +0100 Subject: [PATCH] Update server.js --- server.js | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/server.js b/server.js index afd18c4..5a49b59 100644 --- a/server.js +++ b/server.js @@ -1,8 +1,14 @@ // Module laden +var fs = require('fs'); var express = require('express'); var app = express(); -var server = require('http').Server(app); -var io = require('socket.io').listen(server); +var http = require('http') //.Server(app); +var https = require('https'); //.Server(app); +var webserver = https.createServer({ + key: fs.readFileSync('server_v2.key', 'utf8'), + cert: fs.readFileSync('cert_v2.pem', 'utf8') +}, app); +var io = require('socket.io').listen(webserver); var async = require('async'); var path = require('path'); var favicon = require('serve-favicon'); @@ -22,7 +28,7 @@ app.use(bodyParser.urlencoded({ // Scripte einbinden var app_cfg = require('./server/app_cfg.js'); -var sql_cfg = require('./server/sql_cfg')(bcrypt, app_cfg); +var sql_cfg = require('./server/sql_cfg')(fs, bcrypt, app_cfg); var sql = require('./server/sql_qry')(sql_cfg, async) var waip_io = require('./server/waip_io')(io, sql, async, app_cfg); var udp = require('./server/udp')(app_cfg, waip_io, sql); @@ -30,8 +36,18 @@ var auth = require('./server/auth')(app, app_cfg, sql_cfg, async, bcrypt, passpo var routes = require('./server/routing')(app, sql, app_cfg, passport, auth); // Server starten -server.listen(app_cfg.global.webport, function() { - sql.db_log('Anwendung' ,'Wachalarm-IP-Webserver auf Port ' + app_cfg.global.webport + ' gestartet'); +webserver.listen(app_cfg.global.https_port, function() { + sql.db_log('Anwendung', 'Wachalarm-IP-Webserver auf Port ' + app_cfg.global.https_port + ' gestartet'); }); +// Redirect all HTTP traffic to HTTPS +http.createServer(function(req, res) { + var host = req.headers.host; + host = host.replace(/:\d+$/, ":" + app_cfg.global.https_port); + res.writeHead(301, { + "Location": "https://" + host + req.url + }); + res.end(); +}).listen(app_cfg.global.http_port); + // TODO: auf HTTPS mit TLS1.2 umstellen, inkl. WSS