// Module laden var fs = require('fs'); var express = require('express'); var app = express(); 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'); var bodyParser = require('body-parser'); var bcrypt = require('bcrypt'); var passport = require('passport'); // Express-Einstellungen app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'pug'); app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); app.use(express.static(path.join(__dirname, 'public'))); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); // Scripte einbinden var app_cfg = require('./server/app_cfg.js'); 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); var auth = require('./server/auth')(app, app_cfg, sql_cfg, async, bcrypt, passport, io); var routes = require('./server/routing')(app, sql, app_cfg, passport, auth); // Server starten 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