Remover barras duplas das solicitações

Problema: barras duplas em uma solicitação podem fazer com que a solicitação não seja resolvida

Qualquer solicitação que tenha duas (ou mais) barras consecutivas pode resultar em um erro 404. Por exemplo, /hello//world/. O problema neste exemplo é o "//" entre hello e world.

Solução: filtro para barras duplas

Aplique uma configuração à entrada do Istio para filtrar barras duplas em solicitações e substituí-las.

  1. Crie um novo arquivo de configuração chamado apigee-merge-slash-filter.yaml.
  2. Cole o conteúdo mostrado a seguir no arquivo:
    apiVersion: networking.istio.io/v1alpha3
    kind: EnvoyFilter
    metadata:
      name: apigee-merge-slashes
      namespace: istio-system
    spec:
      workloadSelector:
        labels:
          app: istio-ingressgateway
      configPatches:
      - applyTo: NETWORK_FILTER # http connection manager is a filter in Envoy
        match:
          context: GATEWAY
          listener:
            filterChain:
              filter:
                name: "envoy.http_connection_manager"
        patch:
          operation: MERGE
          value:
            typed_config:
              "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager"
              merge_slashes: true
  3. Aplique a configuração com o seguinte comando:
    kubectl apply -f apigee-merge-slash-filter.yaml