Kubernetes Ingress 重写目标 - 无论如何要在重写时保留地址?
Kubernetes Ingress rewrite-target - anyway to preserve the address when rewrite?
我在 pod 中有一个 oauth2 服务 运行 需要用户将请求发送到
http://[address]/oauth/token?grant_type=client_credentials&scope=[scope]
我有如下 Ingress 规则,在我看来 Ingress 在重写时正在删除 'oauth' 个单词。
例如,当用户提交请求时使用下面的 Ingress 规则:
http://address.com/oauth/token?grant_type=client_credentials&scope=[scope]
然后 auth-service 得到这样的请求:
http://address.com/token?grant_type=client_credentials&scope=[scope]
有办法解决这个问题吗?
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: gateway-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: address.com
http:
paths:
- path: /oauth/*
backend:
serviceName: auth-service
servicePort: 8052
我通过删除重写目标注释解决了这个问题。
我还必须在 /oauth
之后删除 /*
我希望这对其他人有帮助。
我在 pod 中有一个 oauth2 服务 运行 需要用户将请求发送到
http://[address]/oauth/token?grant_type=client_credentials&scope=[scope]
我有如下 Ingress 规则,在我看来 Ingress 在重写时正在删除 'oauth' 个单词。
例如,当用户提交请求时使用下面的 Ingress 规则: http://address.com/oauth/token?grant_type=client_credentials&scope=[scope] 然后 auth-service 得到这样的请求: http://address.com/token?grant_type=client_credentials&scope=[scope]
有办法解决这个问题吗?
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: gateway-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: address.com
http:
paths:
- path: /oauth/*
backend:
serviceName: auth-service
servicePort: 8052
我通过删除重写目标注释解决了这个问题。
我还必须在 /oauth
之后删除 /*我希望这对其他人有帮助。