kubernetes - 用于响应内容操作的 Kubernetes Ingress Gateway
问题描述
在我们的 Kubernetes 集群中,我们需要在响应正文中进行字符串替换。Istio 中是否有这样的东西用于响应内容修改。我只能找到标题操作。
Nginx 入口控制器可以做到这一点吗?
响应包含带有 hrefs 的 html 内容:<>"/static/myimages/logo.png"<> 我们想修改此响应以添加前缀 <>"/myapp/static/myimages/logo.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
解决方案
我开始查看其他 Ingress Controller,发现 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/(.*)
推荐阅读
- firebase - FCM 可以向其发送通知的用户段中的设备是否存在限制
- django - 在 Django 的 python shell 中创建模型及其关联
- r - 找出长度不同的两列的行之间哪些字符串相同
- json - json 文件错误:“预期为 json 对象、数组或文字”
- node.js - 在 node express hbs 中存储图像 - 选择什么方式?
- node.js - TypeError:无法读取 null 的属性“文件”
- asp.net-mvc - Datatables ajax 发布请求失败,状态码为 500
- java - BufferedReader 不读取最后一行
- javascript - 条件导入:如果存在则导入
- wordpress - 如何在 WordPress 中为合格产品添加自定义图标徽章