@@ -249,11 +249,12 @@ func httpRedirectIRule(port int32) string {
249249}
250250
251251func selectPoolIRuleFunc () string {
252- iRuleFunc := `
252+ iRuleFunc := fmt . Sprintf ( `
253253 proc select_ab_pool {path default_pool } {
254254 set last_slash [string length $path]
255+ set ab_class "/%s/ab_deployment_dg"
255256 while {$last_slash >= 0} {
256- if {[class match $path equals ab_deployment_dg ]} then {
257+ if {[class match $path equals $ab_class ]} then {
257258 break
258259 }
259260 set last_slash [string last "/" $path $last_slash]
@@ -262,7 +263,7 @@ func selectPoolIRuleFunc() string {
262263 }
263264
264265 if {$last_slash >= 0} {
265- set ab_rule [class match -value $path equals ab_deployment_dg ]
266+ set ab_rule [class match -value $path equals $ab_class ]
266267 if {$ab_rule != ""} then {
267268 set weight_selection [expr {rand()}]
268269 set service_rules [split $ab_rule ";"]
@@ -280,7 +281,7 @@ func selectPoolIRuleFunc() string {
280281 HTTP::respond 503
281282 }
282283 return $default_pool
283- }`
284+ }` , DEFAULT_PARTITION )
284285
285286 return iRuleFunc
286287}
@@ -390,15 +391,19 @@ func sslPassthroughIRule() string {
390391 SSL::disable serverside
391392 set dflt_pool ""
392393 set passthru_class "/%[1]s/ssl_passthrough_servername_dg"
393- set svrname_class "/%[1]s/ssl_reencrypt_servername_dg"
394- if { [class exists $passthru_class] && [class match $servername_lower equals ssl_passthrough_servername_dg] } {
395- set dflt_pool [class match -value $servername_lower equals ssl_passthrough_servername_dg]
396- SSL::disable
397- HTTP::disable
394+ set reencrypt_class "/%[1]s/ssl_reencrypt_servername_dg"
395+ if { [class exists $passthru_class] } {
396+ set dflt_pool [class match -value $servername_lower equals $passthru_class]
397+ if { not ($dflt_pool equals "") } {
398+ SSL::disable
399+ HTTP::disable
400+ }
398401 }
399- elseif { [class exists $svrname_class] && [class match $servername_lower equals ssl_reencrypt_servername_dg] } {
400- set dflt_pool [class match -value $servername_lower equals ssl_reencrypt_servername_dg]
401- SSL::enable serverside
402+ elseif { [class exists $reencrypt_class] } {
403+ set dflt_pool [class match -value $servername_lower equals $reencrypt_class]
404+ if { not ($dflt_pool equals "") } {
405+ SSL::enable serverside
406+ }
402407 }
403408 set ab_class "/%[1]s/ab_deployment_dg"
404409 if { not [class exists $ab_class] } {
@@ -426,9 +431,11 @@ func sslPassthroughIRule() string {
426431
427432 when SERVER_CONNECTED {
428433 set svrssl_class "/%[1]s/ssl_reencrypt_serverssl_dg"
429- if { [class exists $svrssl_class] && [class match $servername_lower equals ssl_reencrypt_serverssl_dg] } {
430- set profile [class match -value $servername_lower equals ssl_reencrypt_serverssl_dg]
431- SSL::profile $profile
434+ if { [class exists $svrssl_class] } {
435+ set profile [class match -value $servername_lower equals $svrssl_class]
436+ if { not ($profile equals "") } {
437+ SSL::profile $profile
438+ }
432439 }
433440 }` , DEFAULT_PARTITION )
434441
0 commit comments