Mercurial > hg > nginx-tests
annotate proxy_protocol2_server.t @ 1606:e4e0695552ed
Tests: fixed stream_proxy_ssl_conf_command.t.
The stream_proxy_ssl_conf_command.t test used stream return module
to return the response. Since this ignores actual request, but the
perl test code used http_get(). This might result in the request being
sent after the response is returned and the connection closed by the server,
resulting in RST being generated and no response seen by the client at all.
Fix is to use "stream(...)->read()" instead of http_get(), so
no request is sent at all, eliminating possibility of RST being
generated.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Tue, 10 Nov 2020 05:03:29 +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 ############################################################################### |