File: 138-balancer-upstream-bind.t

package info (click to toggle)
libnginx-mod-http-lua 1%3A0.10.28-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 6,456 kB
  • sloc: ansic: 42,658; perl: 480; sh: 303; python: 23; makefile: 11
file content (142 lines) | stat: -rw-r--r-- 2,508 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# vim:set ft= ts=4 sw=4 et fdm=marker:

use Test::Nginx::Socket::Lua;

#worker_connections(1014);
#master_on();
#workers(2);
#log_level('warn');

repeat_each(2);

plan tests => repeat_each() * (blocks() * 3);

#no_diff();
no_long_string();
run_tests();

__DATA__

=== TEST 1: bind to empty
--- no_http2
--- http_config
    lua_package_path "$TEST_NGINX_SERVER_ROOT/html/?.lua;;";

    upstream backend {
        server 127.0.0.1:$TEST_NGINX_SERVER_PORT;
    }
--- config
    set $proxy_local_addr "";
    proxy_bind $proxy_local_addr;

    location = /t {
        proxy_pass http://backend/back;
    }

    location = /back {
        echo ok;
    }

--- request
    GET /t
--- response_body
ok
--- no_error_log
[cirt]



=== TEST 2: bind to 127.0.0.1
--- no_http2
--- http_config
    lua_package_path "$TEST_NGINX_SERVER_ROOT/html/?.lua;;";

    upstream backend {
        server 127.0.0.1:$TEST_NGINX_SERVER_PORT;
    }
--- config
    set $proxy_local_addr "";
    proxy_bind $proxy_local_addr;

    location = /t {
        access_by_lua_block {
            ngx.var.proxy_local_addr="127.0.0.1"
        }
        proxy_pass http://backend/back;
    }

    location = /back {
        echo ok;
    }

--- request
    GET /t
--- response_body
ok
--- no_error_log
[cirt]



=== TEST 3: bind to 127.0.0.10
--- no_http2
--- http_config
    lua_package_path "$TEST_NGINX_SERVER_ROOT/html/?.lua;;";

    upstream backend {
        server 127.0.0.1:$TEST_NGINX_SERVER_PORT;
    }
--- config
    set $proxy_local_addr "";
    proxy_bind $proxy_local_addr;

    location = /t {
        access_by_lua_block {
            ngx.var.proxy_local_addr="127.0.0.10"
        }
        proxy_pass http://backend/back;
    }

    location = /back {
        echo ok;
    }

--- request
    GET /t
--- response_body
ok
--- no_error_log
[cirt]



=== TEST 4: bind to not exist addr 100.100.100.100
--- no_http2
--- http_config
    lua_package_path "$TEST_NGINX_SERVER_ROOT/html/?.lua;;";

    upstream backend {
        server 127.0.0.1:$TEST_NGINX_SERVER_PORT;
    }
--- config
    set $proxy_local_addr "";
    proxy_bind $proxy_local_addr;

    location = /t {
        access_by_lua_block {
            ngx.var.proxy_local_addr="100.100.100.100"
        }
        proxy_pass http://backend/back;
    }

    location = /back {
        echo ok;
    }

--- request
    GET /t
--- response_body_like chomp
500 Internal Server Error
--- error_code: 500
--- error_log
bind(100.100.100.100) failed (99: Cannot assign requested address)