Reroute HTTP Requests
This topic describes how to configure Consul API Gateway to reroute HTTP requests.
- Verify that the requirements have been met.
- Verify that the Consul API Gateway CRDs and controller have been installed and applied. Refer to Installation for details.
Specify the following fields in your
Route configuration. Refer to the Route configuration reference for details about the parameters.
rules.filters.type: Set this parameter to
URLRewriteto instruct Consul API Gateway to rewrite the URL when specific conditions are met.
rules.filters.urlRewrite: Specify the
rules.filters.urlRewrite.path: Contains the paths that incoming requests should be rewritten to based on the match conditions.
To configure the route to accept paths with or without a trailing slash, you must make two separate routes to handle each case.
In the following example, requests to
/incoming-request-prefix/ are forwarded to the
/prefix-backend-receives/. As a result, requests to
/incoming-request-prefix/request-path are received by
apiVersion: gateway.networking.k8s.io/v1beta1 kind: HTTPRoute metadata: name: example-route ##... spec: parentRefs: - group: gateway.networking.k8s.io kind: Gateway name: api-gateway rules: - backendRefs: . . . filters: - type: URLRewrite urlRewrite: path: replacePrefixMatch: /prefix-backend-receives/ type: ReplacePrefixMatch matches: - path: type: PathPrefix value: /incoming–request-prefix/