Special consideration is required when a global service with site persistence (SP=ON) defines both HTTP and HTTPS ports, whether the default ports (80 and 443) or any other port-pair.
Case 1: Same global application exposes HTTP on port 80 and HTTPS on port 443
You need to set http_to_https to True in the application profile associated with every virtual service participating in the global service. In the NSX Advanced Load Balancer UI, use the application profile as shown below:
Case 2: Same global application exposes non-default HTTP and non-default HTTPS ports
As an example, assume the virtual services participating in the global service with site persistence (SP=ON) are defined with port 91 for HTTP and port 9443 for HTTPS.
In addition to optioning http_to_https ON (using the UI, CLI, or REST API), define an HTTP rule for each participating virtual service such that HTTP port 91 is redirected to HTTPS port 9443, as shown below.
CASE 3: No HTTP-to-HTTPS redirect is in place
Whether the port settings are the default ones (80 and 443) or any other values, without the HTTP-to-HTTPS redirect in place, site-persistence flow will not work.