Mercurial > hg > nginx-tests
changeset 245:7189255c1b91
Tests: added real_ip_recursive test.
author | Andrei Belov <defan@nginx.com> |
---|---|
date | Mon, 14 Jan 2013 19:49:41 +0400 |
parents | a675a0d1d19d |
children | 6072306b7924 |
files | realip.t |
diffstat | 1 files changed, 22 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/realip.t Mon Jan 14 17:26:47 2013 +0400 +++ b/realip.t Mon Jan 14 19:49:41 2013 +0400 @@ -35,15 +35,23 @@ http { %%TEST_GLOBALS_HTTP%% - set_real_ip_from 127.0.0.1/32; + add_header X-IP $remote_addr; real_ip_header X-Forwarded-For; server { listen 127.0.0.1:8080; server_name localhost; - location / { - add_header X-IP $remote_addr; + location /1 { + set_real_ip_from 127.0.0.1/32; + set_real_ip_from 10.0.1.0/24; + real_ip_recursive off; + } + + location /2 { + set_real_ip_from 127.0.0.1/32; + set_real_ip_from 10.0.1.0/24; + real_ip_recursive on; } } } @@ -51,24 +59,30 @@ EOF $t->write_file('1', ''); +$t->write_file('2', ''); $t->run(); plan(skip_all => 'no 127.0.0.1 on host') if http_get('/1') !~ /X-IP: 127.0.0.1/m; -$t->plan(2); +$t->plan(4); ############################################################################### -like(http_xff('192.0.2.1'), qr/^X-IP: 192.0.2.1/m, 'realip'); -like(http_xff('10.0.0.1, 192.0.2.1'), qr/^X-IP: 192.0.2.1/m, 'realip multi'); +like(http_xff('/1', '192.0.2.1'), qr/^X-IP: 192.0.2.1/m, 'realip'); +like(http_xff('/1', '10.0.0.1, 192.0.2.1'), qr/^X-IP: 192.0.2.1/m, + 'realip multi'); +like(http_xff('/1', '192.0.2.1, 10.0.1.1, 127.0.0.1'), + qr/^X-IP: 127.0.0.1/m, 'realip recursive off'); +like(http_xff('/2', '192.0.2.1, 10.0.1.1, 127.0.0.1'), + qr/^X-IP: 192.0.2.1/m, 'realip recursive on'); ############################################################################### sub http_xff { - my ($xff) = @_; + my ($uri, $xff) = @_; return http(<<EOF); -GET /1 HTTP/1.0 +GET $uri HTTP/1.0 Host: localhost X-Forwarded-For: $xff