Alloy grpc behind a Nginx Ingress Error FRAME_SIZE_ERROR 4740180
I try to deploy an Alloy via helm and create an Ingress by myself to test.
The client send metrics, logs, traces via Opentelemetry collector Java agent. It’s classic configration. I don’t share the config here.
The Java client OkHttp send data, but there are a lot of errors:
ERROR io.opentelemetry.exporter.internal.grpc.GrpcExportor - Failed to export logs. The request could not be executed. Error message: FRAME_SIZE_ERROR 4740180
BTW, recently I deployed the otel-collector-contrib behind the Nginx Ingress, I enable the gRPC on it and I use the same Java client to do testing. the otel-collector-contrib can handle the gRPC.
Protocol Mismatch: I use a grpc+http protocol (I should use a https, I missed the s, it’s typo) to connect to a gRPC server(It’s actually a HTTP1.1 server, I though it should be gRPC +HTTP2.0 server) .
FRAME_SIZE_ERROR 4740180, the number is the decimal representation of the hexadecimal bytes 0x485454 (“HTTP”), which the server misinterprets as an excessively large frame size within the HTTP2 protocol.
Nginx Ingress Configuration: for community Nginx Ingress, nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
but in my org, it changes to Nginx plus Ingress. To enable the gRPC, it should be: nginx.org/grpc-services: "grpc-svc-input-your-svc-here"