.env tweaks (wip)
This commit is contained in:
@ -1,6 +1,7 @@
|
|||||||
NODE_TLS_REJECT_UNAUTHORIZED=0
|
NODE_TLS_REJECT_UNAUTHORIZED=0
|
||||||
# NODE_EXTRA_CA_CERTS=C:\\Users\\popov\\AppData\\Local\\mkcert
|
# NODE_EXTRA_CA_CERTS=C:\\Users\\popov\\AppData\\Local\\mkcert
|
||||||
SSL_ENABLED=true
|
SSL_ENABLED=true
|
||||||
|
NEXT_PUBLIC_PORT=3004
|
||||||
SSL_KEY=./certificates/localhost-key.pem
|
SSL_KEY=./certificates/localhost-key.pem
|
||||||
SSL_CERT=./certificates/localhost.pem
|
SSL_CERT=./certificates/localhost.pem
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
"homepage": "https://git.d-popov.com/popov/next-cart-app",
|
"homepage": "https://git.d-popov.com/popov/next-cart-app",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"debug": "nodemon --inspect server.js",
|
"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",
|
"build": "next build",
|
||||||
"buildWin": "npm run build",
|
"buildWin": "npm run build",
|
||||||
"start": "next start",
|
"start": "next start",
|
||||||
|
34
server.js
34
server.js
@ -9,13 +9,7 @@ const sharp = require('sharp');
|
|||||||
const https = require('https');
|
const https = require('https');
|
||||||
|
|
||||||
//const getPort = require("get-port");
|
//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;
|
let getPort;
|
||||||
import('get-port').then(module => {
|
import('get-port').then(module => {
|
||||||
getPort = module.default;
|
getPort = module.default;
|
||||||
@ -26,6 +20,20 @@ process.env.TZ = 'Europe/Sofia';
|
|||||||
// Global variable to store the base URL
|
// Global variable to store the base URL
|
||||||
let baseUrlGlobal;
|
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 PORT = process.env.NEXT_PUBLIC_PORT || 3000;
|
||||||
const HOST = process.env.NEXT_PUBLIC_HOST;
|
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 PROTOCOL = process.env.NEXT_PUBLIC_PROTOCOL;
|
||||||
const app = next({ dev });
|
const app = next({ dev });
|
||||||
const handle = app.getRequestHandler();
|
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.NEXTAUTH_URL = ", process.env.NEXTAUTH_URL);
|
||||||
console.log("process.env.NEXT_PUBLIC_PORT = ", process.env.NEXT_PUBLIC_PORT);
|
console.log("process.env.NEXT_PUBLIC_PORT = ", process.env.NEXT_PUBLIC_PORT);
|
||||||
|
|
||||||
@ -63,6 +71,16 @@ app
|
|||||||
|
|
||||||
//check if ssl is enabled
|
//check if ssl is enabled
|
||||||
if (process.env.SSL_ENABLED === "true") {
|
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 = {
|
const options = {
|
||||||
key: fs.readFileSync(process.env.SSL_KEY),
|
key: fs.readFileSync(process.env.SSL_KEY),
|
||||||
cert: fs.readFileSync(process.env.SSL_CERT),
|
cert: fs.readFileSync(process.env.SSL_CERT),
|
||||||
|
Reference in New Issue
Block a user