Mercurial > hg > nginx-tests
annotate proxy_protocol2_server.t @ 1542:451e787aad76
Tests: reworked libgd version detection.
The "libgd-config" binary is deprecated in recent versions and may not exist
or have unexpected output. More, it may not present within older versions,
as well, if installed separately, which previously broke test assumptions.
The fix is change the fallback to skip tests. In addition, recent Perl GD
module (2.57) started to export libgd version, which is now also consulted.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Mon, 13 Jan 2020 18:15:35 +0300 |
parents | 7676944968c1 |
children | 5ac6efbe5552 |
rev | line source |
---|---|
1527
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
2 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
3 # (C) Sergey Kandaurov |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
4 # (C) Nginx, Inc. |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
5 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
6 # Tests for haproxy protocol. |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
7 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
8 ############################################################################### |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
9 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
10 use warnings; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
11 use strict; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
12 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
13 use Test::More; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
14 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
15 BEGIN { use FindBin; chdir($FindBin::Bin); } |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
16 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
17 use lib 'lib'; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
18 use Test::Nginx; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
19 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
20 ############################################################################### |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
21 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
22 select STDERR; $| = 1; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
23 select STDOUT; $| = 1; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
24 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
25 my $t = Test::Nginx->new()->has(qw/http access realip/); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
26 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
27 $t->write_file_expand('nginx.conf', <<'EOF'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
28 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
29 %%TEST_GLOBALS%% |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
30 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
31 daemon off; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
32 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
33 events { |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
34 } |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
35 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
36 http { |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
37 %%TEST_GLOBALS_HTTP%% |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
38 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
39 log_format pp $remote_addr:$remote_port; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
40 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
41 add_header X-IP $remote_addr!$remote_port; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
42 add_header X-PP $proxy_protocol_addr!$proxy_protocol_port; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
43 add_header X-PPS $proxy_protocol_server_addr!$proxy_protocol_server_port; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
44 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
45 server { |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
46 listen 127.0.0.1:8080 proxy_protocol; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
47 server_name localhost; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
48 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
49 set_real_ip_from 127.0.0.1/32; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
50 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
51 location /pp { |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
52 real_ip_header proxy_protocol; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
53 error_page 404 =200 /t1; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
54 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
55 location /pp_4 { |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
56 deny 192.0.2.1/32; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
57 access_log %%TESTDIR%%/pp4.log pp; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
58 } |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
59 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
60 location /pp_6 { |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
61 deny 2001:DB8::1/128; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
62 access_log %%TESTDIR%%/pp6.log pp; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
63 } |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
64 } |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
65 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
66 location / { } |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
67 } |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
68 } |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
69 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
70 EOF |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
71 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
72 $t->write_file('t1', 'SEE-THIS'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
73 $t->try_run('no proxy_protocol_server_addr')->plan(28); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
74 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
75 ############################################################################### |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
76 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
77 my $p = pack("N3C", 0x0D0A0D0A, 0x000D0A51, 0x5549540A, 0x21); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
78 my $tcp4 = $p . pack("CnN2n2", 0x11, 12, 0xc0000201, 0xc0000202, 123, 567); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
79 my $tcp6 = $p . pack("CnNx8NNx8Nn2", 0x21, 36, |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
80 0x20010db8, 0x00000001, 0x20010db8, 0x00000002, 123, 567); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
81 my $tlv = $p . pack("CnN2n2x9", 0x11, 21, 0xc0000201, 0xc0000202, 123, 567); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
82 my $unk1 = $p . pack("Cxx", 0x01); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
83 my $unk2 = $p . pack("CnC4", 0x41, 4, 1, 2, 3, 4); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
84 my $r; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
85 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
86 # no realip, just PROXY header parsing |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
87 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
88 $r = pp_get('/t1', $tcp4); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
89 like($r, qr/SEE-THIS/, 'tcp4 request'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
90 like($r, qr/X-PP: 192.0.2.1!123\x0d/, 'tcp4 proxy'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
91 like($r, qr/X-PPS: 192.0.2.2!567\x0d/, 'tcp4 proxy server'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
92 unlike($r, qr/X-IP: (192.0.2.1|[^!]+!123\x0d)/, 'tcp4 client'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
93 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
94 $r = pp_get('/t1', $tcp6); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
95 like($r, qr/SEE-THIS/, 'tcp6 request'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
96 like($r, qr/X-PP: 2001:DB8::1!123\x0d/i, 'tcp6 proxy'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
97 like($r, qr/X-PPS: 2001:DB8::2!567\x0d/i, 'tcp6 proxy server'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
98 unlike($r, qr/X-IP: (2001:DB8::1|[^!]+!123\x0d)/i, 'tcp6 client'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
99 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
100 $r = pp_get('/t1', $tlv); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
101 like($r, qr/SEE-THIS/, 'tlv request'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
102 like($r, qr/X-PP: 192.0.2.1!123\x0d/, 'tlv proxy'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
103 like($r, qr/X-PPS: 192.0.2.2!567\x0d/, 'tlv proxy server'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
104 unlike($r, qr/X-IP: (192.0.2.1|[^!]+!123\x0d)/, 'tlv client'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
105 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
106 $r = pp_get('/t1', $unk1); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
107 like($r, qr/SEE-THIS/, 'unknown request 1'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
108 like($r, qr/X-PP: !\x0d/, 'unknown proxy 1'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
109 like($r, qr/X-PPS: !\x0d/, 'unknown proxy server 1'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
110 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
111 $r = pp_get('/t1', $unk2); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
112 like($r, qr/SEE-THIS/, 'unknown request 2'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
113 like($r, qr/X-PP: !\x0d/, 'unknown proxy 2'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
114 like($r, qr/X-PPS: !\x0d/, 'unknown proxy server 2'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
115 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
116 # realip |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
117 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
118 $r = pp_get('/pp', $tcp4); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
119 like($r, qr/SEE-THIS/, 'tcp4 request realip'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
120 like($r, qr/X-PP: 192.0.2.1!123\x0d/, 'tcp4 proxy realip'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
121 like($r, qr/X-IP: 192.0.2.1!123\x0d/, 'tcp4 client realip'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
122 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
123 $r = pp_get('/pp', $tcp6); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
124 like($r, qr/SEE-THIS/, 'tcp6 request realip'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
125 like($r, qr/X-PP: 2001:DB8::1!123\x0d/i, 'tcp6 proxy realip'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
126 like($r, qr/X-IP: 2001:DB8::1!123\x0d/i, 'tcp6 client realip'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
127 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
128 # access |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
129 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
130 $r = pp_get('/pp_4', $tcp4); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
131 like($r, qr/403 Forbidden/, 'tcp4 access'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
132 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
133 $r = pp_get('/pp_6', $tcp6); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
134 like($r, qr/403 Forbidden/, 'tcp6 access'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
135 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
136 # client address in access.log |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
137 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
138 $t->stop(); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
139 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
140 is($t->read_file('pp4.log'), "192.0.2.1:123\n", 'tcp4 log'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
141 is($t->read_file('pp6.log'), "2001:db8::1:123\n", 'tcp6 log'); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
142 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
143 ############################################################################### |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
144 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
145 sub pp_get { |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
146 my ($url, $proxy) = @_; |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
147 return http($proxy . <<EOF); |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
148 GET $url HTTP/1.0 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
149 Host: localhost |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
150 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
151 EOF |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
152 } |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
153 |
7676944968c1
Tests: proxy protocol server variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
154 ############################################################################### |