-
Notifications
You must be signed in to change notification settings - Fork 0
/
prod-server.js
36 lines (26 loc) · 878 Bytes
/
prod-server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import fs from "fs";
import http from "http";
import https from "https";
import express from "express";
const app = express();
app.use((req, res, next) => {
req.secure ? next() : res.redirect("https://" + req.headers.host + req.url);
});
app.use((req, res, next) => {
console.log(req.originalUrl);
console.log(req.protocol, req.hostname, req.baseUrl, req.headers);
next();
});
app.use("/budget-app", express.static("dist"));
app.use("/budget-app", express.static("build"));
let httpsServer;
if (process.env.HTTPS_PRIVATE_KEY && process.env.HTTPS_CERT) {
const key = fs.readFileSync(process.env.HTTPS_PRIVATE_KEY, "utf8");
const cert = fs.readFileSync(process.env.HTTPS_CERT, "utf8");
httpsServer = https.createServer({ key, cert }, app);
}
const httpServer = http.createServer(app);
httpServer.listen(80);
if (httpsServer) {
httpsServer.listen(443);
}