.env tweaks (wip)

This commit is contained in:
Dobromir Popov
2024-02-27 01:18:26 +02:00
parent 9d1e57f2ec
commit 5bc7d1ad22
3 changed files with 28 additions and 9 deletions

View File

@ -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

View File

@ -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",

View File

@ -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),