diff --git a/backend/internal/nginx.js b/backend/internal/nginx.js index 80cb0c29..128c0046 100644 --- a/backend/internal/nginx.js +++ b/backend/internal/nginx.js @@ -34,7 +34,7 @@ const internalNginx = { // We're deleting this config regardless. // Don't throw errors, as the file may not exist at all // Delete the .err file too - return internalNginx.deleteConfig(host_type, host, false, true); + return internalNginx.deleteConfig(host_type, host, true); }) .then(() => { return internalNginx.generateConfig(host_type, host); @@ -83,10 +83,12 @@ const internalNginx = { meta: combined_meta, }) .then(() => { - internalNginx.renameConfigAsError(host_type, host); + // Keep the failed config as a .err file for inspection + return internalNginx.renameConfigAsError(host_type, host); }) .then(() => { - return internalNginx.deleteConfig(host_type, host, true); + // The rename removed the live config already, don't touch the .err file + return internalNginx.deleteConfig(host_type, host, false); }); }); }) @@ -378,8 +380,8 @@ const internalNginx = { const config_file_err = `${config_file}.err`; return new Promise((resolve /*, reject*/) => { - fs.unlink(config_file, () => { - // ignore result, continue + fs.unlink(config_file_err, () => { + // ignore result, a previous .err file may not exist fs.rename(config_file, config_file_err, () => { // also ignore result, as this is a debugging informative file anyway resolve();