From dc2452e781fee4708c2be2fe8364950116bd9a4c Mon Sep 17 00:00:00 2001 From: Matt Burke Date: Thu, 6 Apr 2017 10:27:04 -0400 Subject: [PATCH] Fixed issue where tiles are not loaded if HTTP_X_FORWARDED_PROTO is unset. --- tileserver.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tileserver.php b/tileserver.php index 0018538..7b21dcb 100644 --- a/tileserver.php +++ b/tileserver.php @@ -65,7 +65,7 @@ class Server { */ public function __construct() { $this->config = $GLOBALS['config']; - + //Get config from enviroment $envServerTitle = getenv('serverTitle'); if($envServerTitle !== FALSE){ @@ -73,7 +73,7 @@ class Server { } $envBaseUrls = getenv('baseUrls'); if($envBaseUrls !== FALSE){ - $this->config['baseUrls'] = is_array($envBaseUrls) ? + $this->config['baseUrls'] = is_array($envBaseUrls) ? $envBaseUrls : explode(',', $envBaseUrls); } $envTemplate = getenv('template'); @@ -1228,7 +1228,13 @@ class Router { $request_method = strtolower($_SERVER['REQUEST_METHOD']); $path_info = '/'; global $config; - $config['protocol'] = ((isset($_SERVER['HTTPS']) or $_SERVER['SERVER_PORT'] == '443') or $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') ? 'https' : 'http'; + $xForwarded = false; + if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) { + if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') { + $xForwarded = true; + } + } + $config['protocol'] = ((isset($_SERVER['HTTPS']) or $_SERVER['SERVER_PORT'] == '443') or $xForwarded) ? 'https' : 'http'; if (!empty($_SERVER['PATH_INFO'])) { $path_info = $_SERVER['PATH_INFO']; } else if (!empty($_SERVER['ORIG_PATH_INFO']) && strpos($_SERVER['ORIG_PATH_INFO'], 'tileserver.php') === false) {