kubernetes ingress 对上游 http2 grpc 应用程序返回 400 错误
我已经使用下面的 yaml 创建了入口,
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "GRPCS"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
kubernetes.io/ingress.class: public-iks-k8s-nginx
labels:
app: "spring-gateway-fybrik-latha-gateway"
name: fybrik-cp-proxy-ingress
namespace: fybrik-latha-gateway
spec:
rules:
- host: <upstreaM-hostname>
http:
paths:
- backend:
service:
name: spring-gateway
port:
number: 443
path: /
pathType: Prefix
tls:
- hosts:
- <upstreaM-hostname>
secretName: none
如果我直接调用我的 grpc http2 应用程序,它会按预期工作。但是当我调用 ingress url 时,它会抛出 gRPC returned inside error,并显示消息:Received http2 header with status: 400 错误,并且我没有在 grpc 应用程序中看到任何记录的消息。
I've created the ingress with below yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "GRPCS"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
kubernetes.io/ingress.class: public-iks-k8s-nginx
labels:
app: "spring-gateway-fybrik-latha-gateway"
name: fybrik-cp-proxy-ingress
namespace: fybrik-latha-gateway
spec:
rules:
- host: <upstreaM-hostname>
http:
paths:
- backend:
service:
name: spring-gateway
port:
number: 443
path: /
pathType: Prefix
tls:
- hosts:
- <upstreaM-hostname>
secretName: none
If I directly call my grpc http2 application, it works as expected. But when I call ingress url, it throws gRPC returned internal error, with message: Received http2 header with status: 400
error and I don't see any msg logged in my grpc application.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论