diff --git a/server.js b/server.js index f65fe26..c909f50 100644 --- a/server.js +++ b/server.js @@ -33,20 +33,33 @@ if (config.trustedProxy != null) { console.log("Trusting proxy", config.trustedProxy); } else { - dns.resolve4(config.trustedProxy, (err, res) => { - if (err != null) { - console.error("Failed to resolve trustedProxy hostname") - console.error(err) - process.exit(1) - } - if (res.length === 0) { - console.error("No results for trustedProxy hostname") - process.exit(1) - } - - console.log("Trusting proxy", res[0], `(${config.trustedProxy})`); - app.set('trust proxy', res[0]) - }) + let trusted = null + + setInterval(() => { + dns.resolve4(config.trustedProxy, (err, res) => { + if (err != null) { + if (trusted === null) { + console.error("Failed to resolve trustedProxy hostname") + } + + return + } + if (res.length === 0) { + if (trusted === null) { + console.error("No results for trustedProxy hostname") + } + + return + } + + if (trusted !== res[0]) { + console.log("Trusting proxy", res[0], `(${config.trustedProxy})`); + app.set('trust proxy', res[0]) + + trusted = res[0] + } + }) + }, 1000) } }