It might be easier to throw it all into a data group. Example:
when SERVER_CONNECTED {
if { [class match [LB::server addr] equals my_ssl_server_dg] } {
SSL::profile [class match -value [LB::server addr] equals my_ssl_server_dg]
}
}
where "my_ssl_server_dg" is an arbitrary string-based data group that maps the server IP to its corresponding server SSL profile. Like this:
10.70.0.1 := test1_serverssl
10.70.0.2 := test2_serverssl
10.70.0.3 := test3_serverssl
It doesn't alleviate having to create a separate server SSL profile for each server node, but it makes your code easier to manage. You also don't need the SSL::enable serverside command if you already have a generic server SSL profile applied to the VIP.