enabling https

This commit is contained in:
2024-11-27 00:47:31 +07:00
parent b50b38cf4b
commit 66a34a0119
3 changed files with 25 additions and 4 deletions

View File

@ -11,7 +11,12 @@
"max_body": "50mb", "max_body": "50mb",
"max_upload": 104857600, "max_upload": 104857600,
"morgan": "combined", "morgan": "combined",
"cors": "*" "cors": "*",
"ssl": {
"enable": false,
"cert": "",
"key": ""
}
}, },
"database": { "database": {
"engine": "postgres", "engine": "postgres",

View File

@ -11,7 +11,12 @@
"max_body": "50mb", "max_body": "50mb",
"max_upload": 104857600, "max_upload": 104857600,
"morgan": "combined", "morgan": "combined",
"cors": "*" "cors": "*",
"ssl": {
"enable": true,
"cert": "/etc/letsencrypt/live/bri-dev.shiblysolution.id/fullchain.pem",
"key": "/etc/letsencrypt/live/bri-dev.shiblysolution.id/privkey.pem"
}
}, },
"database": { "database": {
"engine": "postgres", "engine": "postgres",

View File

@ -1,17 +1,28 @@
import { Logger, ILogObj } from "tslog"; import { Logger, ILogObj } from "tslog";
import { app } from "./server"; import { app } from "./server";
import config from 'config' import config from 'config'
import https from 'https';
import fs from 'fs';
const log: Logger<ILogObj> = new Logger({ name: '[Index]', type: 'pretty' }); const log: Logger<ILogObj> = new Logger({ name: '[Index]', type: 'pretty' });
const HOST = config.get('server.host') const HOST = config.get('server.host')
const PORT = config.get('server.port') const PORT = Number(config.get('server.port'))
const server = app.listen(Number(PORT), String(HOST), () => { const server = app.listen(config.get('server.ssl.enable') ? PORT + 1000 : PORT, String(HOST), () => {
log.info(`Server ${config.get('app.name')} running on port http://${HOST}:${PORT}`); log.info(`Server ${config.get('app.name')} running on port http://${HOST}:${PORT}`);
}); });
if (config.get('server.ssl.enable')) {
const options = {
cert: fs.readFileSync(config.get('server.ssl.cert')),
key: fs.readFileSync(config.get('server.ssl.key'))
};
https.createServer(options, app).listen(PORT);
}
const onCloseSignal = () => { const onCloseSignal = () => {
log.info("sigint received, shutting down"); log.info("sigint received, shutting down");
server.close(() => { server.close(() => {