1
1
# vim:set ft= ts=4 sw=4 et fdm=marker:
2
2
3
3
use Test ::Nginx::Socket::Lua::Stream;
4
+ use Cwd qw(abs_path realpath);
5
+ use File::Basename;
4
6
5
7
repeat_each(2 );
6
8
7
9
plan tests => repeat_each() * 216 ;
8
10
9
11
$ ENV {TEST_NGINX_HTML_DIR} ||= html_dir();
10
-
11
12
$ ENV {TEST_NGINX_MEMCACHED_PORT} ||= 11211 ;
12
13
$ ENV {TEST_NGINX_RESOLVER} ||= ' 8.8.8.8' ;
13
14
$ ENV {TEST_NGINX_SERVER_SSL_PORT} ||= 12345 ;
15
+ $ ENV {TEST_NGINX_CERT_DIR} ||= dirname(realpath(abs_path(__FILE__)));
14
16
15
17
# log_level 'warn';
16
18
log_level ' debug' ;
@@ -94,10 +96,8 @@ __DATA__
94
96
end -- do
95
97
collectgarbage()
96
98
' ;
97
-
98
99
-- - config
99
100
server_tokens off;
100
-
101
101
-- - stream_response_like chop
102
102
\Aconnected: 1
103
103
ssl handshake: userdata
@@ -1226,32 +1226,45 @@ SSL reused session
1226
1226
1227
1227
1228
1228
=== TEST 16 : explicit ssl protocol configuration
1229
+ -- - http_config
1230
+ server {
1231
+ listen unix: $ TEST_NGINX_HTML_DIR / nginx. sock ssl;
1232
+ server_name test. com;
1233
+ ssl_certificate $ TEST_NGINX_CERT_DIR / cert/ test. crt;
1234
+ ssl_certificate_key $ TEST_NGINX_CERT_DIR / cert/ test. key ;
1235
+ ssl_protocols TLSv1;
1236
+
1237
+ location / {
1238
+ content_by_lua_block {
1239
+ ngx. exit(200 )
1240
+ }
1241
+ }
1242
+ }
1229
1243
-- - stream_server_config
1230
- resolver $ TEST_NGINX_RESOLVER ipv6= off;
1231
1244
lua_ssl_protocols TLSv1;
1232
1245
1233
1246
content_by_lua '
1234
1247
local sock = ngx.socket.tcp()
1235
1248
sock:settimeout(2000)
1236
1249
1237
1250
do
1238
- local ok, err = sock:connect("openresty.org", 443 )
1251
+ local ok, err = sock:connect("unix:$TEST_NGINX_HTML_DIR/nginx.sock" )
1239
1252
if not ok then
1240
1253
ngx.say("failed to connect: ", err)
1241
1254
return
1242
1255
end
1243
1256
1244
1257
ngx.say("connected: ", ok)
1245
1258
1246
- local session, err = sock:sslhandshake(nil, "openresty.org ")
1259
+ local session, err = sock:sslhandshake(nil, "test.com ")
1247
1260
if not session then
1248
1261
ngx.say("failed to do SSL handshake: ", err)
1249
1262
return
1250
1263
end
1251
1264
1252
1265
ngx.say("ssl handshake: ", type(session))
1253
1266
1254
- local req = "GET / HTTP/1.1\\ r\\ nHost: openresty.org \\ r\\ nConnection: close\\ r\\ n\\ r\\ n"
1267
+ local req = "GET / HTTP/1.1\\ r\\ nHost: test.com \\ r\\ nConnection: close\\ r\\ n\\ r\\ n"
1255
1268
local bytes, err = sock:send(req)
1256
1269
if not bytes then
1257
1270
ngx.say("failed to send stream request: ", err)
@@ -1273,15 +1286,13 @@ SSL reused session
1273
1286
end -- do
1274
1287
collectgarbage()
1275
1288
' ;
1276
-
1277
1289
-- - config
1278
1290
server_tokens off;
1279
-
1280
1291
-- - stream_response
1281
1292
connected: 1
1282
1293
ssl handshake: userdata
1283
- sent stream request: 58 bytes .
1284
- received: HTTP/ 1.1 302 Moved Temporarily
1294
+ sent stream request: 53 bytes .
1295
+ received: HTTP/ 1.1 200 OK
1285
1296
close : 1 nil
1286
1297
1287
1298
-- - log_level: debug
@@ -1292,14 +1303,13 @@ lua ssl free session: ([0-9A-F]+)
1292
1303
$/
1293
1304
-- - error_log eval
1294
1305
[
1295
- ' lua ssl server name: "openresty.org "' ,
1296
- qr/ SSL: TLSv1, cipher: " ECDHE-RSA-AES(?:256|128)-SHA \b /,
1306
+ ' lua ssl server name: "test.com "' ,
1307
+ qr/ SSL: TLSv1, cipher: " ECDHE-RSA-AES256-SHA (SSLv3|TLSv1)/
1297
1308
]
1298
1309
--- no_error_log
1299
1310
SSL reused session
1300
1311
[error]
1301
1312
[alert]
1302
- --- timeout: 5
1303
1313
1304
1314
1305
1315
0 commit comments