|
|
@@ -136,6 +136,8 @@ const internalNginx = {
|
|
|
* @returns {Promise}
|
|
|
*/
|
|
|
renderLocations: (host) => {
|
|
|
+
|
|
|
+ //logger.info('host = ' + JSON.stringify(host, null, 2));
|
|
|
return new Promise((resolve, reject) => {
|
|
|
let template;
|
|
|
|
|
|
@@ -146,13 +148,19 @@ const internalNginx = {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- let renderer = new Liquid();
|
|
|
+ let renderer = new Liquid({
|
|
|
+ root: __dirname + '/../templates/'
|
|
|
+ });
|
|
|
let renderedLocations = '';
|
|
|
|
|
|
const locationRendering = async () => {
|
|
|
for (let i = 0; i < host.locations.length; i++) {
|
|
|
- let locationCopy = Object.assign({}, host.locations[i]);
|
|
|
-
|
|
|
+ let locationCopy = Object.assign({}, {access_list_id: host.access_list_id}, {certificate_id: host.certificate_id},
|
|
|
+ {ssl_forced: host.ssl_forced}, {caching_enabled: host.caching_enabled}, {block_exploits: host.block_exploits},
|
|
|
+ {allow_websocket_upgrade: host.allow_websocket_upgrade}, {http2_support: host.http2_support},
|
|
|
+ {hsts_enabled: host.hsts_enabled}, {hsts_subdomains: host.hsts_subdomains}, {access_list: host.access_list},
|
|
|
+ {certificate: host.certificate}, host.locations[i]);
|
|
|
+
|
|
|
if (locationCopy.forward_host.indexOf('/') > -1) {
|
|
|
const splitted = locationCopy.forward_host.split('/');
|
|
|
|
|
|
@@ -160,12 +168,16 @@ const internalNginx = {
|
|
|
locationCopy.forward_path = `/${splitted.join('/')}`;
|
|
|
}
|
|
|
|
|
|
+ //logger.info('locationCopy = ' + JSON.stringify(locationCopy, null, 2));
|
|
|
+
|
|
|
// eslint-disable-next-line
|
|
|
renderedLocations += await renderer.parseAndRender(template, locationCopy);
|
|
|
}
|
|
|
+
|
|
|
};
|
|
|
|
|
|
locationRendering().then(() => resolve(renderedLocations));
|
|
|
+
|
|
|
});
|
|
|
},
|
|
|
|
|
|
@@ -181,6 +193,8 @@ const internalNginx = {
|
|
|
logger.info('Generating ' + host_type + ' Config:', host);
|
|
|
}
|
|
|
|
|
|
+ // logger.info('host = ' + JSON.stringify(host, null, 2));
|
|
|
+
|
|
|
let renderEngine = new Liquid({
|
|
|
root: __dirname + '/../templates/'
|
|
|
});
|
|
|
@@ -208,6 +222,7 @@ const internalNginx = {
|
|
|
}
|
|
|
|
|
|
if (host.locations) {
|
|
|
+ //logger.info ('host.locations = ' + JSON.stringify(host.locations, null, 2));
|
|
|
origLocations = [].concat(host.locations);
|
|
|
locationsPromise = internalNginx.renderLocations(host).then((renderedLocations) => {
|
|
|
host.locations = renderedLocations;
|