server: Added DNS resolution when setting trust proxy since IPs are temporary in Docker.
the build failed
the build failed
This commit is contained in:
Generated
+5
@@ -3405,6 +3405,11 @@
|
|||||||
"loose-envify": "^1.0.0"
|
"loose-envify": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ip": {
|
||||||
|
"version": "1.1.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
|
||||||
|
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
|
||||||
|
},
|
||||||
"ipaddr.js": {
|
"ipaddr.js": {
|
||||||
"version": "1.8.0",
|
"version": "1.8.0",
|
||||||
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
"express-session": "^1.15.6",
|
"express-session": "^1.15.6",
|
||||||
"graphql-query-compress": "^1.1.0",
|
"graphql-query-compress": "^1.1.0",
|
||||||
"http-proxy-middleware": "^0.19.1",
|
"http-proxy-middleware": "^0.19.1",
|
||||||
|
"ip": "^1.1.5",
|
||||||
"isomorphic-fetch": "^2.2.1",
|
"isomorphic-fetch": "^2.2.1",
|
||||||
"jsonwebtoken": "^8.3.0",
|
"jsonwebtoken": "^8.3.0",
|
||||||
"lasso": "^3.2.6",
|
"lasso": "^3.2.6",
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ const config = require("./config")
|
|||||||
const express = require("express")
|
const express = require("express")
|
||||||
const proxy = require("express-http-proxy")
|
const proxy = require("express-http-proxy")
|
||||||
const proxy2 = require("http-proxy-middleware")
|
const proxy2 = require("http-proxy-middleware")
|
||||||
|
const ip = require("ip")
|
||||||
|
const dns = require("dns")
|
||||||
const lasso = require("lasso")
|
const lasso = require("lasso")
|
||||||
const lassoMiddleware = require("lasso/middleware")
|
const lassoMiddleware = require("lasso/middleware")
|
||||||
const markoExpress = require("marko/express")
|
const markoExpress = require("marko/express")
|
||||||
@@ -26,7 +28,26 @@ lasso.configure(require("./marko-config"))
|
|||||||
|
|
||||||
// Set trusted proxy
|
// Set trusted proxy
|
||||||
if (config.trustedProxy != null) {
|
if (config.trustedProxy != null) {
|
||||||
|
if (ip.isV4Format(config.trustedProxy) || ip.isV6Format(config.trustedProxy)) {
|
||||||
app.set('trust proxy', config.trustedProxy)
|
app.set('trust proxy', config.trustedProxy)
|
||||||
|
|
||||||
|
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])
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Apply middleware
|
// Apply middleware
|
||||||
|
|||||||
Reference in New Issue
Block a user