diff --git a/functions/route.php b/functions/route.php index 22227b4..d5be5bf 100644 --- a/functions/route.php +++ b/functions/route.php @@ -43,10 +43,16 @@ class Route { * @return string - The string representation of the server's transfer protocol */ public static function getProtocol() { - if ( !empty( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] !== 'off' ) { + if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') { return 'https'; } - if ( $_SERVER['SERVER_PORT'] == 443 ) { + if (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') { + return 'https'; + } + if (!empty($_SERVER['HTTP_X_FORWARDED_PORT']) && $_SERVER['HTTP_X_FORWARDED_PORT'] == 443) { + return 'https'; + } + if (!empty($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) { return 'https'; } return 'http';