X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=application%2FHttpUtils.php;h=af7cb37123fa06a84738a6054c733ab0b38afd23;hb=ee88a4bcc29da721cf43b750663aebeac4969517;hp=e2c1cb470f8a9c776358046839b10d3cdbdd3fd5;hpb=893338f0d407a0989454d5e3c0e43c97f7eface5;p=github%2Fshaarli%2FShaarli.git diff --git a/application/HttpUtils.php b/application/HttpUtils.php index e2c1cb47..af7cb371 100644 --- a/application/HttpUtils.php +++ b/application/HttpUtils.php @@ -106,11 +106,21 @@ function server_url($server) // Shaarli is served behind a proxy if (isset($server['HTTP_X_FORWARDED_PROTO'])) { // Keep forwarded scheme - $scheme = $server['HTTP_X_FORWARDED_PROTO']; + if (strpos($server['HTTP_X_FORWARDED_PROTO'], ',') !== false) { + $schemes = explode(',', $server['HTTP_X_FORWARDED_PROTO']); + $scheme = trim($schemes[0]); + } else { + $scheme = $server['HTTP_X_FORWARDED_PROTO']; + } if (isset($server['HTTP_X_FORWARDED_PORT'])) { // Keep forwarded port - $port = ':'.$server['HTTP_X_FORWARDED_PORT']; + if (strpos($server['HTTP_X_FORWARDED_PORT'], ',') !== false) { + $ports = explode(',', $server['HTTP_X_FORWARDED_PORT']); + $port = ':' . trim($ports[0]); + } else { + $port = ':' . $server['HTTP_X_FORWARDED_PORT']; + } } return $scheme.'://'.$server['SERVER_NAME'].$port;