Supprimer les doubles barres obliques des requêtes

Problème : les doubles barres obliques dans une requête peuvent empêcher sa résolution

Toute requête contenant des doubles barres obliques peut entraîner une erreur 404. Par exemple, /hello//world/. Le problème dans cet exemple est la "//" entre hello et world.

Solution : filtrer les doubles barres obliques

Appliquez une configuration à votre entrée Istio pour filtrer les doubles barres obliques dans les requêtes et les remplacer.

  1. Créez un fichier de configuration nommé apigee-merge-slash-filter.yaml.
  2. Collez le contenu suivant dans le fichier :
    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. Appliquez la configuration à l'aide de la commande suivante :
    kubectl apply -f apigee-merge-slash-filter.yaml