HTTP Request Policy
HTTP request policies allow manipulation of HTTP requests. These requests may be modified before they are forwarded to the server, used as a basis for content switching, or discarded. The HTTP request policies may only be applied to a layer 7 virtual service configured with an HTTP profile. The table below lists the match criteria available under HTTP request, as well as the actions that can be configured to occur upon a match being made.
Note: Starting with release 18.1.2, this feature is supported for IPv6 in NSX Advanced Load Balancer.
|Match||Client IP: Client IP address or a group of client addresses.
|Service Port: The ports the virtual service is listening on.|
|Protocol Type: HTTP or HTTPS.
|HTTP Method: The method used by the client request. The match is true if any one of the methods that an administrator specifies is true.
The options available are GET, HEAD, POST, PUT, DELETE, OPTIONS, TRACE, and CONNECT. Starting with NSX Advanced Load Balancer version 18.2.3, you can also choose from the additional options: PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, and UNLOCK.
|HTTP Version: True if the client version is .9, 1.0, or 1.1|
|Path: The path or a group of paths. In accordance with RFC 3986, a |
the path is /marketing/index.html.
|Query: A query or a group of queries. Do not add the leading ‘?’ or ‘&’ characters to a match.
|Headers: True if a header exists, or if it exists and contains a specified value|
|Cookie: True if a cookie exists, or if it exists and contains a specified value|
|Host Header: The request’s host header.
|Action||Redirect URL: Redirects a client to a different protocol, port, host, or path. By default the host, path, and query are not altered unless an administrator populates those fields. The path field does not require a leading “/” slash character. To create a simple HTTP to HTTPS redirect, simply set the protocol to HTTPS. NOTE: The redirect action may not be stacked with other actions.|
|Modify Header: Allows adding, replacing, or removing of an HTTP header or cookie.|
|Rewrite URL: Similar to ProxyPass functionality, this action allows for the client’s requested URL to be rewritten into a URL that the server understands. For instance, the client should usewww.avinetworks.com/sales, while the server may be configured for sales.avinetworks.com. The path field does not require a leading "/" slash character.|
|Content Switch: Forward matched requests to a pool, or a specific server with that pool. Alternatively, NSX Advanced Load Balancer can serve an HTTP response using HTTP status code 200 (success), 403 (unauthorized), 404 (file not found), or 429 (too many requests). A default page is sent for each of these status codes, or a custom html file may uploaded.
Note: Starting with NSX Advanced Load Balancer version 21.1.3, you can upload any type of file as a local response. It is recommended to configure a local file using the UI. To update the local file using API, encode the base64 file out of band and use the encoded format in the API.