From 83fa6319818dfcecb2a19490ff01bc2d6ac2b985 Mon Sep 17 00:00:00 2001 From: Dan Peleg Date: Tue, 3 Apr 2018 19:00:22 +0300 Subject: [PATCH] #119 - Fixes support for proxy (X-Forwarded-Host header). --- src/serve_style.js | 2 +- src/server.js | 6 +++--- src/utils.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/serve_style.js b/src/serve_style.js index cd9dfe9..e9a7738 100644 --- a/src/serve_style.js +++ b/src/serve_style.js @@ -79,7 +79,7 @@ module.exports = function(options, repo, params, id, reportTiles, reportFont) { query = '?' + queryParams.join('&'); } return url.replace( - 'local://', req.protocol + '://' + req.headers.host + '/') + query; + 'local://', req.protocol + '://' + req.hostname + '/') + query; }; var styleJSON_ = clone(styleJSON); diff --git a/src/server.js b/src/server.js index db67be4..254c8f8 100644 --- a/src/server.js +++ b/src/server.js @@ -198,7 +198,7 @@ function start(opts) { version: styleJSON.version, name: styleJSON.name, id: id, - url: req.protocol + '://' + req.headers.host + + url: req.protocol + '://' + req.hostname + '/styles/' + id + '/style.json' + query }); }); @@ -298,7 +298,7 @@ function start(opts) { var query = req.query.key ? ('?key=' + req.query.key) : ''; style.wmts_link = 'http://wmts.maptiler.com/' + - base64url('http://' + req.headers.host + + base64url('http://' + req.hostname + '/styles/' + id + '.json' + query) + '/wmts'; var tiles = utils.getTileUrls( @@ -327,7 +327,7 @@ function start(opts) { var query = req.query.key ? ('?key=' + req.query.key) : ''; data_.wmts_link = 'http://wmts.maptiler.com/' + - base64url('http://' + req.headers.host + + base64url('http://' + req.hostname + '/data/' + id + '.json' + query) + '/wmts'; var tiles = utils.getTileUrls( diff --git a/src/utils.js b/src/utils.js index 2dacc6d..fe3185c 100644 --- a/src/utils.js +++ b/src/utils.js @@ -12,7 +12,7 @@ module.exports.getTileUrls = function(req, domains, path, format, aliases) { if (domains.constructor === String && domains.length > 0) { domains = domains.split(','); } - var host = req.headers.host; + var host = req.hostname; var hostParts = host.split('.'); var relativeSubdomainsUsable = hostParts.length > 1 && !/^([0-9]{1,3}\.){3}[0-9]{1,3}(\:[0-9]+)?$/.test(host); @@ -31,7 +31,7 @@ module.exports.getTileUrls = function(req, domains, path, format, aliases) { domains = newDomains; } if (!domains || domains.length == 0) { - domains = [req.headers.host]; + domains = [req.hostname]; } var key = req.query.key;