Istio - Internal Redirect Support

Does Istio support internal redirects via 3xx / Headers. Detailed here; HTTP connection management — envoy 1.18.0-dev-18db4c documentation

I don’t see any way to achieve this. It may also be out of scope of the Istio service mesh.

Bumping to see if anyone knows.

1 Like

I am running into the same issue with istio 1.9.1

@shortwavedave So, I managed to get a little further with this recently. It SHOULD work with this;

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: follow-redirects
  namespace: default
spec:
  workflowSelector:
    labels:
      release: app
  configPatches:
  - applyTo: HTTP_ROUTE
    match:
      context: ANY
    patch:
      operation: MERGE
      value:
        route:
          internal_redirect_policy:
            max_internal_redirects: 5
            redirect_response_codes: ["308"]

However, Pilot isn’t working with this for some reason… I don’t know why.

If I use this:

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: follow-redirects
  namespace: default
spec:
  workflowSelector:
    labels:
      release: app
  configPatches:
  - applyTo: HTTP_ROUTE
    match:
      context: ANY
    patch:
      operation: MERGE
      value:
        tracing:
          random_sampling:
            numerator: 9990
            denominator: TEN_THOUSAND

Changes are applied correctly to all my routes. But, it won’t merge route for some reason…

Bumping… could really do with some input here from someone @ Istio

I’m pretty sure this is either a bug, or just not supported. Raising a bug; MERGE on `route` not supported / Not working (Internal_Redirect_Policy) · Issue #32673 · istio/istio · GitHub