@@ -414,14 +414,11 @@ public NgxBlock buildBlockUpstream(Upstream upstream) {
414414 return ngxBlockServer ;
415415 }
416416
417- public static Boolean processListenPort (Server server , NgxBlock ngxBlockServer , Boolean isIpv6 ) {
418- if (isIpv6 && server .getIpv6 () != 1 ){
419- return false ;
420- }
417+ public static List <Integer > processPort (String listenString ){
421418 List <Integer > numbers = new ArrayList <>();
422419
423420 // 使用逗号分割字符串
424- String [] partsByComma = server . getListen () .split ("," );
421+ String [] partsByComma = listenString .split ("," );
425422
426423 for (String part : partsByComma ) {
427424 String [] range = part .split ("-" );
@@ -445,14 +442,19 @@ public static Boolean processListenPort(Server server, NgxBlock ngxBlockServer,
445442 numbers .add (num );
446443 }
447444 }
445+ return numbers ;
446+ }
448447
449- String listenKey = "listen " ;
450- if (isIpv6 ){
451- listenKey = "listen [::]:" ;
448+ public static Boolean processListenPort ( Server server , NgxBlock ngxBlockServer , Boolean isIpv6 ) {
449+ if (isIpv6 && server . getIpv6 () != 1 ){
450+ return false ;
452451 }
452+ List <Integer > ports = processPort (server .getListen ());
453+
454+ String listenKey = isIpv6 ? "listen [::]:" : "listen " ;
453455
454456 String value = "" ;
455- for (Integer port : numbers ) {
457+ for (Integer port : ports ) {
456458 NgxParam ngxParam = new NgxParam ();
457459 value = listenKey + port ;
458460 if (server .getDef () == 1 ) {
0 commit comments