From: ArthurHoaro Date: Sun, 3 Dec 2017 11:46:43 +0000 (+0100) Subject: Merge pull request #1025 from ArthurHoaro/hotfix/proxy-443 X-Git-Tag: v0.9.4~24 X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=101b935de4852308a238c04bf5a08d01a6ebe45c;hp=-c;p=github%2Fshaarli%2FShaarli.git Merge pull request #1025 from ArthurHoaro/hotfix/proxy-443 Force HTTPS if the original port is 443 behind a reverse proxy --- 101b935de4852308a238c04bf5a08d01a6ebe45c diff --combined application/HttpUtils.php index ec54dcd4,c6181df4..c9371b55 --- a/application/HttpUtils.php +++ b/application/HttpUtils.php @@@ -76,7 -76,7 +76,7 @@@ function get_http_response($url, $timeo curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); // Max download size management - curl_setopt($ch, CURLOPT_BUFFERSIZE, 1024); + curl_setopt($ch, CURLOPT_BUFFERSIZE, 1024*16); curl_setopt($ch, CURLOPT_NOPROGRESS, false); curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, function($arg0, $arg1, $arg2, $arg3, $arg4 = 0) use ($maxBytes) @@@ -302,6 -302,13 +302,13 @@@ function server_url($server $port = $server['HTTP_X_FORWARDED_PORT']; } + // This is a workaround for proxies that don't forward the scheme properly. + // Connecting over port 443 has to be in HTTPS. + // See https://github.com/shaarli/Shaarli/issues/1022 + if ($port == '443') { + $scheme = 'https'; + } + if (($scheme == 'http' && $port != '80') || ($scheme == 'https' && $port != '443') ) {