Mercurial > hg > nginx-tests
annotate realip.t @ 1571:1b4ceab9cb1c
Tests: fixed ssl_certificate.t with LibreSSL client.
Net::SSLeay::connect() that manages TLS handshake could return unexpected
error when receiving server alert, as seen in server certificate tests if
it could not been selected. Typically, it returns the expected error -1,
but with certain libssl implementations it can be 0, as explained below.
The error is propagated from libssl's SSL_connect(), which is usually -1.
In modern OpenSSL versions, it is the default error code used in the state
machine returned when something went wrong with parsing TLS message header.
In versions up to OpenSSL 1.0.2, with SSLv23_method() used by default, -1
is the only error code in the ssl_connect() method implementation which is
used as well if receiving alert while parsing ServerHello. BoringSSL also
seems to return -1. But it is not so with LibreSSL that returns zero.
Previously, tests failed with client built with LibreSSL with SSLv3 removed.
Here, the error is propagated directly from ssl_read_bytes() method, which
is always implemented as ssl3_read_bytes() in all TLS methods. It could be
also seen with OpenSSL up to 1.0.2 with non-default methods explicitly set.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Fri, 29 May 2020 23:10:20 +0300 |
parents | afe541649054 |
children |
rev | line source |
---|---|
216
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
2 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
3 # (C) Maxim Dounin |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
4 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
5 # Tests for nginx realip module. |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
6 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
7 ############################################################################### |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
8 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
9 use warnings; |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
10 use strict; |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
11 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
12 use Test::More; |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
13 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
14 BEGIN { use FindBin; chdir($FindBin::Bin); } |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
15 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
16 use lib 'lib'; |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
17 use Test::Nginx; |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
18 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
19 ############################################################################### |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
20 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
21 select STDERR; $| = 1; |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
22 select STDOUT; $| = 1; |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
23 |
1354
c0075a0a2ba9
Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
24 my $t = Test::Nginx->new()->has(qw/http realip rewrite/); |
216
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
25 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
26 $t->write_file_expand('nginx.conf', <<'EOF'); |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
27 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
28 %%TEST_GLOBALS%% |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
29 |
249
6a0d934950bc
Tests: remove extra spaces in "daemon off".
Maxim Dounin <mdounin@mdounin.ru>
parents:
247
diff
changeset
|
30 daemon off; |
216
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
31 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
32 events { |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
33 } |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
34 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
35 http { |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
36 %%TEST_GLOBALS_HTTP%% |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
37 |
245
7189255c1b91
Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents:
217
diff
changeset
|
38 add_header X-IP $remote_addr; |
690
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
39 set_real_ip_from 127.0.0.1/32; |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
40 set_real_ip_from 10.0.1.0/24; |
216
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
41 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
42 server { |
974
882267679006
Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
952
diff
changeset
|
43 listen 127.0.0.1:8080; |
216
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
44 server_name localhost; |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
45 |
690
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
46 location / { } |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
47 location /custom { |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
48 real_ip_header X-Real-IP-Custom; |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
49 } |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
50 |
245
7189255c1b91
Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents:
217
diff
changeset
|
51 location /1 { |
690
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
52 real_ip_header X-Forwarded-For; |
245
7189255c1b91
Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents:
217
diff
changeset
|
53 real_ip_recursive off; |
7189255c1b91
Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents:
217
diff
changeset
|
54 } |
7189255c1b91
Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents:
217
diff
changeset
|
55 |
7189255c1b91
Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents:
217
diff
changeset
|
56 location /2 { |
690
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
57 real_ip_header X-Forwarded-For; |
245
7189255c1b91
Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents:
217
diff
changeset
|
58 real_ip_recursive on; |
216
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
59 } |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
60 } |
1355
afe541649054
Tests: fixed realip.t with parallel tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1354
diff
changeset
|
61 |
afe541649054
Tests: fixed realip.t with parallel tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1354
diff
changeset
|
62 server { |
afe541649054
Tests: fixed realip.t with parallel tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1354
diff
changeset
|
63 listen 127.0.0.1:8081; |
afe541649054
Tests: fixed realip.t with parallel tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1354
diff
changeset
|
64 server_name localhost; |
afe541649054
Tests: fixed realip.t with parallel tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1354
diff
changeset
|
65 |
afe541649054
Tests: fixed realip.t with parallel tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1354
diff
changeset
|
66 return 204; |
afe541649054
Tests: fixed realip.t with parallel tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1354
diff
changeset
|
67 } |
216
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
68 } |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
69 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
70 EOF |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
71 |
690
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
72 $t->write_file('index.html', ''); |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
73 $t->write_file('custom', ''); |
216
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
74 $t->write_file('1', ''); |
245
7189255c1b91
Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents:
217
diff
changeset
|
75 $t->write_file('2', ''); |
216
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
76 $t->run(); |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
77 |
217
ea574aae77cb
Tests: unbreak geo and realip tests in jails.
Maxim Dounin <mdounin@mdounin.ru>
parents:
216
diff
changeset
|
78 plan(skip_all => 'no 127.0.0.1 on host') |
690
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
79 if http_get('/') !~ /X-IP: 127.0.0.1/m; |
216
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
80 |
1354
c0075a0a2ba9
Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
81 $t->plan(8); |
217
ea574aae77cb
Tests: unbreak geo and realip tests in jails.
Maxim Dounin <mdounin@mdounin.ru>
parents:
216
diff
changeset
|
82 |
ea574aae77cb
Tests: unbreak geo and realip tests in jails.
Maxim Dounin <mdounin@mdounin.ru>
parents:
216
diff
changeset
|
83 ############################################################################### |
216
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
84 |
690
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
85 like(http(<<EOF), qr/^X-IP: 192.0.2.1/m, 'realip'); |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
86 GET / HTTP/1.0 |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
87 Host: localhost |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
88 X-Real-IP: 192.0.2.1 |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
89 |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
90 EOF |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
91 |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
92 like(http(<<EOF), qr/^X-IP: 192.0.2.1/m, 'realip custom'); |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
93 GET /custom HTTP/1.0 |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
94 Host: localhost |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
95 X-Real-IP-Custom: 192.0.2.1 |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
96 |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
97 EOF |
a894f041244e
Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
590
diff
changeset
|
98 |
245
7189255c1b91
Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents:
217
diff
changeset
|
99 like(http_xff('/1', '10.0.0.1, 192.0.2.1'), qr/^X-IP: 192.0.2.1/m, |
590
dc2f8aac0553
Tests: whitespace fixes.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
317
diff
changeset
|
100 'realip multi'); |
245
7189255c1b91
Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents:
217
diff
changeset
|
101 like(http_xff('/1', '192.0.2.1, 10.0.1.1, 127.0.0.1'), |
7189255c1b91
Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents:
217
diff
changeset
|
102 qr/^X-IP: 127.0.0.1/m, 'realip recursive off'); |
247
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
103 like(http_xff('/2', '10.0.1.1, 192.0.2.1, 127.0.0.1'), |
245
7189255c1b91
Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents:
217
diff
changeset
|
104 qr/^X-IP: 192.0.2.1/m, 'realip recursive on'); |
216
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
105 |
247
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
106 like(http(<<EOF), qr/^X-IP: 10.0.1.1/m, 'realip multi xff recursive off'); |
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
107 GET /1 HTTP/1.0 |
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
108 Host: localhost |
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
109 X-Forwarded-For: 192.0.2.1 |
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
110 X-Forwarded-For: 127.0.0.1, 10.0.1.1 |
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
111 |
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
112 EOF |
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
113 |
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
114 like(http(<<EOF), qr/^X-IP: 192.0.2.1/m, 'realip multi xff recursive on'); |
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
115 GET /2 HTTP/1.0 |
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
116 Host: localhost |
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
117 X-Forwarded-For: 10.0.1.1 |
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
118 X-Forwarded-For: 192.0.2.1 |
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
119 X-Forwarded-For: 127.0.0.1 |
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
120 |
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
121 EOF |
bf6b05f03458
Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents:
245
diff
changeset
|
122 |
1354
c0075a0a2ba9
Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
123 my $s = IO::Socket::INET->new('127.0.0.1:' . port(8081)); |
c0075a0a2ba9
Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
124 like(http(<<EOF, socket => $s), qr/ 204 .*192.0.2.1/s, 'realip post read'); |
c0075a0a2ba9
Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
125 GET / HTTP/1.0 |
c0075a0a2ba9
Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
126 Host: localhost |
c0075a0a2ba9
Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
127 X-Real-IP: 192.0.2.1 |
c0075a0a2ba9
Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
128 |
c0075a0a2ba9
Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
129 EOF |
c0075a0a2ba9
Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
130 |
216
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
131 ############################################################################### |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
132 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
133 sub http_xff { |
245
7189255c1b91
Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents:
217
diff
changeset
|
134 my ($uri, $xff) = @_; |
216
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
135 return http(<<EOF); |
245
7189255c1b91
Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents:
217
diff
changeset
|
136 GET $uri HTTP/1.0 |
216
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
137 Host: localhost |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
138 X-Forwarded-For: $xff |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
139 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
140 EOF |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
141 } |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
142 |
f2f37a52e42e
Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
143 ############################################################################### |