3 class init_checkssl_test
extends DokuWikiTest
{
6 * Running behind an SSL proxy, HTTP between server and proxy
7 * Proxy (REMOTE_ADDR) is matched by default trustedproxy config regex
9 * HTTP_X_FORWARDED_PROTO
13 $_SERVER['REMOTE_ADDR'] = '127.0.0.1';
14 $_SERVER['HTTP_X_FORWARDED_PROTO'] = 'https';
16 $this->assertEquals(is_ssl(), true);
20 * Running behind an SSL proxy, HTTP between server and proxy
21 * Proxy (REMOTE_ADDR) is not matched by default trustedproxy config regex
23 * HTTP_X_FORWARDED_PROTO
27 $_SERVER['REMOTE_ADDR'] = '8.8.8.8';
28 $_SERVER['HTTP_X_FORWARDED_PROTO'] = 'https';
30 $this->assertEquals(is_ssl(), false);
34 * Running behind a plain HTTP proxy, HTTP between server and proxy
36 * HTTP_X_FORWARDED_PROTO set to http
39 $_SERVER['REMOTE_ADDR'] = '127.0.0.1';
40 $_SERVER['HTTP_X_FORWARDED_PROTO'] = 'http';
42 $this->assertEquals(is_ssl(), false);
46 * Running behind an SSL proxy, HTTP between server and proxy
48 * HTTP_X_FORWARDED_PROTO set to https
51 $_SERVER['REMOTE_ADDR'] = '127.0.0.1';
52 $_SERVER['HTTP_X_FORWARDED_PROTO'] = 'https';
53 $_SERVER['HTTPS'] = 'off';
55 $this->assertEquals(is_ssl(), true);
59 * Not running behind a proxy, HTTPS server
61 * HTTP_X_FORWARDED_PROTO not set
64 $_SERVER['HTTPS'] = 'on';
66 $this->assertEquals(is_ssl(), true);
70 * Not running behind a proxy, plain HTTP server
72 * HTTP_X_FORWARDED_PROTO not set
75 $this->assertEquals(is_ssl(), false);
79 * Not running behind a proxy, plain HTTP server
81 * HTTP_X_FORWARDED_PROTO not set
84 $_SERVER['HTTPS'] = 'off';
85 $this->assertEquals(is_ssl(), false);
89 * Running behind an SSL proxy, SSL between proxy and HTTP server
91 * HTTP_X_FORWARDED_PROTO set to https
94 $_SERVER['REMOTE_ADDR'] = '127.0.0.1';
95 $_SERVER['HTTP_X_FORWARDED_PROTO'] = 'https';
96 $_SERVER['HTTPS'] = 'on';
98 $this->assertEquals(is_ssl(), true);