The custom HTTP header mode of persistence can be applied to a virtual service with an attached HTTP application profile. This method allows an HTTP header to be manually mapped to a specific server for persistence.

The SE inspects the value of the defined HTTP header and matches the value against a statically assigned header field for each server. If there is a match, the client is persisted to the server. The server’s header field is configured in the Application > Pool > edit server page using the Header Value field within the server table.

In the example below, when a client sends an HTTP request, the controller checks if a header exists, based on the name configured in the customer HTTP header persistence profile. If the header exists in the client’s request, the value is mapped against the servers as shown. If the value was server2, the controller sends the client to apache2. If the header does not exist, or the value does not match, the client is free to be load balanced to any server:

Persist Table

This method is a static mapping of header values to servers, to avoid need to maintaining persistence table on each SE and mirroring. All SEs supporting a virtual service whose pool is configured with this persistence type, automatically direct or persist users correctly to the same servers.

Configuration Options

For details for configuring Custom HTTP Header persistence profile, see NSX Advanced Load Balancer  UI Configuration Options under HTTP Cookie Persistence. Ensure that Custom HTTP Header is selected from the Type drop-down menu.