.env tweaks (wip)
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
NODE_TLS_REJECT_UNAUTHORIZED=0
|
||||
# NODE_EXTRA_CA_CERTS=C:\\Users\\popov\\AppData\\Local\\mkcert
|
||||
SSL_ENABLED=true
|
||||
NEXT_PUBLIC_PORT=3004
|
||||
SSL_KEY=./certificates/localhost-key.pem
|
||||
SSL_CERT=./certificates/localhost.pem
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
"homepage": "https://git.d-popov.com/popov/next-cart-app",
|
||||
"scripts": {
|
||||
"debug": "nodemon --inspect server.js",
|
||||
"debug-npm-env": "cross-env NODE_ENV=$NODE_ENV nodemon --inspect server.js",
|
||||
"debug-npm-env": "dotenv -e .env.$NODE_ENV -- nodemon --inspect server.js",
|
||||
"build": "next build",
|
||||
"buildWin": "npm run build",
|
||||
"start": "next start",
|
||||
|
34
server.js
34
server.js
@ -9,13 +9,7 @@ const sharp = require('sharp');
|
||||
const https = require('https');
|
||||
|
||||
//const getPort = require("get-port");
|
||||
if (process.env.NODE_ENV === 'test') {
|
||||
// Load environment variables from .env.test
|
||||
require('dotenv').config({ path: '.env.test' });
|
||||
} else {
|
||||
// Load default environment variables
|
||||
require('dotenv').config();
|
||||
}
|
||||
|
||||
let getPort;
|
||||
import('get-port').then(module => {
|
||||
getPort = module.default;
|
||||
@ -26,6 +20,20 @@ process.env.TZ = 'Europe/Sofia';
|
||||
// Global variable to store the base URL
|
||||
let baseUrlGlobal;
|
||||
|
||||
// if (process.env.NODE_ENV === 'test') {
|
||||
// // Load environment variables from .env.test
|
||||
// require('dotenv').config({ path: '.env.test' });
|
||||
// } else {
|
||||
// // Load default environment variables
|
||||
// require('dotenv').config();
|
||||
// }
|
||||
|
||||
console.log("initial process.env.NODE_ENV = ", process.env.NODE_ENV);
|
||||
require('dotenv').config({
|
||||
path: `.env.${process.env.NODE_ENV}`
|
||||
});
|
||||
|
||||
console.log("process.env.NODE_ENV = ", process.env.NODE_ENV);
|
||||
|
||||
const PORT = process.env.NEXT_PUBLIC_PORT || 3000;
|
||||
const HOST = process.env.NEXT_PUBLIC_HOST;
|
||||
@ -33,7 +41,7 @@ const dev = process.env.NODE_ENV !== "production";
|
||||
const PROTOCOL = process.env.NEXT_PUBLIC_PROTOCOL;
|
||||
const app = next({ dev });
|
||||
const handle = app.getRequestHandler();
|
||||
console.log("process.env.NODE_ENV = ", process.env.NODE_ENV);
|
||||
console.log("process.env.SSL_ENABLED = ", process.env.SSL_ENABLED);
|
||||
console.log("process.env.NEXTAUTH_URL = ", process.env.NEXTAUTH_URL);
|
||||
console.log("process.env.NEXT_PUBLIC_PORT = ", process.env.NEXT_PUBLIC_PORT);
|
||||
|
||||
@ -63,6 +71,16 @@ app
|
||||
|
||||
//check if ssl is enabled
|
||||
if (process.env.SSL_ENABLED === "true") {
|
||||
console.log("SSL_ENABLED = true");
|
||||
// Redirect from http to https
|
||||
server.use((req, res, next) => {
|
||||
if (req.headers['x-forwarded-proto'] !== 'https') {
|
||||
return res.redirect(`https://${req.headers.host}${req.url}`);
|
||||
}
|
||||
next();
|
||||
});
|
||||
}
|
||||
if (process.env.SSL_KEY && process.env.SSL_CERT) {
|
||||
const options = {
|
||||
key: fs.readFileSync(process.env.SSL_KEY),
|
||||
cert: fs.readFileSync(process.env.SSL_CERT),
|
||||
|
Reference in New Issue
Block a user