1
0
mirror of https://github.com/Foltik/Shimapan synced 2024-11-30 22:41:47 -05:00

Add TLS support

This commit is contained in:
Jack Foltz 2018-12-26 13:30:02 -05:00
parent 70ba0706a3
commit dd0f4647fc
Signed by: foltik
GPG Key ID: D1F0331758D1F29A
5 changed files with 23 additions and 7 deletions

View File

@ -1,7 +1,8 @@
{
"Server": {
"port": 4433,
"hostname": "https://shimapan.rocks"
"hostname": "https://shimapan.rocks",
"tls": true
},
"Database": {
"host": "mongodb://localhost:27017/shimapan"

View File

@ -1,7 +1,8 @@
{
"Server": {
"port": 8080,
"hostname": "http://localhost:8080"
"hostname": "http://localhost:8080",
"tls": false
},
"Database": {
"host": "mongodb://localhost:27017/shimapan-dev"

View File

@ -1,7 +1,8 @@
{
"Server": {
"port": 8080,
"hostname": "http://localhost:8080"
"hostname": "http://localhost:8080",
"tls": false
},
"Database": {
"host": "mongodb://localhost:27017/shimapan-test"

View File

@ -55,7 +55,8 @@
"test": "npx mocha",
"build": "npx gulp",
"start": "npx gulp start",
"watch": "npx gulp watch"
"watch": "npx gulp watch",
"genkey": "openssl req -newkey rsa:2048 -nodes -keyout privkey.pem -x509 -days 3650 -out cert.pem"
},
"repository": {
"type": "git",

View File

@ -1,3 +1,5 @@
const https = require('https');
const fs = require('fs');
const express = require('express');
const bodyParser = require('body-parser');
const methodOverride = require('method-override');
@ -70,9 +72,19 @@ app.use((err, req, res, next) => {
// Start app
const port = config.get('Server.port');
const server = app.listen(port, () => {
console.log('Listening on port ' + port + '...\n');
});
let server;
if (config.get('Server.tls')) {
const options = {
cert: fs.readFileSync('./cert.pem'),
key: fs.readFileSync('./privkey.pem'),
};
server = https.createServer(options, app).listen(port, () =>
console.log(`Listening on port ${port}...`));
} else {
server = app.listen(port, () =>
console.log(`Listening on port ${port}...`));
}
// Expose app
module.exports.app = app;