Входной шлюз Kubernetes для управления содержимым ответов - PullRequest
1 голос
/ 20 марта 2020

В нашем кластере Kubernetes у нас есть требование сделать замену строки в нашем теле ответа. Есть ли такая вещь в Istio для модификации содержимого ответа. Я мог только найти манипуляции с заголовком.

Может ли Nginx Ingress Controller сделать это?

Ответ содержит html содержимое с hrefs как: <> "/ static / myimages / lo go .png "<> Мы хотели бы изменить этот ответ, добавив в него префикс <>" / myapp / static / myimages / lo go .png "<>

У кого-нибудь есть рекомендации для шлюза что может сделать этот контент переписать. У вас есть образцы для обмена?

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: resource-manager
spec:
  hosts:
  - "*"
  gateways:
  - myapp-gateway
  http:
  - match:
    - uri:
       prefix: /myapp/
      rewrite:
       uri: "/"
    route:
     - destination:
        host: myapp.voting.svc.cluster.local
        port:
          number: 9099
       headers:
        response:
         add:
          foo: bar

Ответы [ 2 ]

1 голос
/ 26 марта 2020

Я начал смотреть на другие контроллеры входа и обнаружил, что NGINX -Ingress может выполнять манипуляции с ответом. Вот входной маршрут, который я установил, который выполняет манипулирование контентом. Поделиться этим здесь:

apiVersion: extensions/v1beta1 
kind: Ingress 
metadata: 
  name: app1-ingress 
  namespace: app1 
  annotations:
    nginx.ingress.kubernetes.io/configuration-snippet: |
      sub_filter '<title>My title' '<title>My updated title'; #This changes title that Chrome Shows on Top
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/rewrite-target: /$1 
spec:  
 rules:
  - http:
      paths:
      - backend:
          serviceName: app1
          servicePort: 8080
        path: /app1/(.*)
0 голосов
/ 20 марта 2020

AFAIK, istio не предлагает модификацию тела по умолчанию. Это может быть невозможно даже при использовании пользовательских фильтров посланников.

...