+ /**
+ * Detect a Proxy that sets Forwarded-Host
+ */
+ public function testHttpsProxyForwardedHost()
+ {
+ $this->assertEquals(
+ 'https://host.tld:8080',
+ server_url(
+ array(
+ 'HTTP_X_FORWARDED_PROTO' => 'https',
+ 'HTTP_X_FORWARDED_PORT' => '8080',
+ 'HTTP_X_FORWARDED_HOST' => 'host.tld'
+ )
+ )
+ );
+
+ $this->assertEquals(
+ 'https://host.tld:4974',
+ server_url(
+ array(
+ 'HTTP_X_FORWARDED_PROTO' => 'https, https',
+ 'HTTP_X_FORWARDED_PORT' => '4974, 80',
+ 'HTTP_X_FORWARDED_HOST' => 'host.tld, example.com'
+ )
+ )
+ );
+ }
+