|
|
@@ -2,25 +2,35 @@ const express = require("express");
|
|
|
const session = require("cookie-session");
|
|
|
const mongoose = require("mongoose");
|
|
|
const compression = require("compression");
|
|
|
+const https = require("https");
|
|
|
+const fs = require("fs");
|
|
|
|
|
|
const app = express();
|
|
|
|
|
|
-mongoose.connect(process.env.SUBLINE_DB, {useNewUrlParser: true, useUnifiedTopology: true});
|
|
|
+mongoose.connect(`${process.env.DB}/inventory-management`, {useNewUrlParser: true, useUnifiedTopology: true});
|
|
|
|
|
|
app.set("view engine", "ejs");
|
|
|
|
|
|
-function requireHTTPS(req, res, next) {
|
|
|
- if (!req.secure && req.get('x-forwarded-proto') !== 'https' && process.env.NODE_ENV !== "development") {
|
|
|
- return res.redirect('https://' + req.get('host') + req.url);
|
|
|
- }
|
|
|
- next();
|
|
|
+let httpsServer = {};
|
|
|
+if(process.env.NODE_ENV === "production"){
|
|
|
+ httpsServer = https.createServer({
|
|
|
+ key: fs.readFileSync("/etc/letencrypt/live/www.thesubline.com/privkey.pem", "utf8"),
|
|
|
+ cert: fs.readFileSync("/etc/letsencrypt/live/www.leemorgan.io/fullchain.pem", "utf8")
|
|
|
+ }, app);
|
|
|
+
|
|
|
+ app.use((req, res, next)=>{
|
|
|
+ if(req.secure === true){
|
|
|
+ next();
|
|
|
+ }else{
|
|
|
+ res.redirect(`https://${req.headers.host}${req.url}`);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
-app.use(requireHTTPS);
|
|
|
app.use(compression());
|
|
|
app.use(session({
|
|
|
secret: "Super Secret Subline Subliminally Saving Secrets So Sneaky Snakes Stay Sullen",
|
|
|
- cookie: {secure: false},
|
|
|
+ cookie: {secure: true},
|
|
|
saveUninitialized: true,
|
|
|
resave: false
|
|
|
}));
|
|
|
@@ -30,4 +40,8 @@ app.use(express.json());
|
|
|
|
|
|
require("./routes")(app);
|
|
|
|
|
|
+if(process.env.NODE_ENV === "production"){
|
|
|
+ httpsServer.listen(process.env.HTTPS_PORT, ()=>{});
|
|
|
+}
|
|
|
+
|
|
|
app.listen(process.env.PORT, ()=>{});
|