Proxying HTTP2 traffic through Kong

Hi Folks,

I am using Kong for proxying GRPC requests through it. The following is my setup

Have started Kong with proxy_listen config

-e "KONG_PROXY_LISTEN=0.0.0.0:8000 http2, 0.0.0.0:8443 http2 ssl, 0.0.0.0:9080 http2, 0.0.0.0:9081 http2 SSL" 

I have a sample GRPC server running on port 15002. I have set up routes and services for the GRPC server. I am grpcurl to make a call via Kong proxy as follows

grpcurl -v -d '{"name": "Kong 1.3}' \
  -plaintext localhost:8000 helloworld.Greeter.SayHello

I am getting the following response

Error invoking method "helloworld.Greeter.SayHello": failed to query for service descriptor "helloworld.Greeter": rpc error: code = Unavailable desc = Bad Gateway: HTTP status code 502; transport: missing content-type field

Not sure what I have missed. I am following the official Kong documentation for this.
Can someone help with this?

The same request works fine if the request is directly made to the GRPC server

Thanks

@rShetty Could you share your routes & services setup as well?

@salazar
Services creation

curl -XPOST localhost:8001/services \
  --data name=grpc \
  --data protocol=grpc \
  --data host=localhost \
  --data port=15002

Routes

curl -XPOST localhost:8001/services/grpc/routes \
  --data protocols=grpc \
  --data name=catch-all \
  --data paths=/

@rShetty @salazar were you guys ever able to find solution to above ?

From the looks of it, the grpc service is not reachable by Kong. What is the distribution used here? Make sure that localhost:15002 really points to the grpc service and it is reachable by Kong. Also, is 15002 the plaintext port? Happy Konging!

thanks @salazar .
resolved here; Unable send request via GRPC protocol · Issue #7124 · Kong/kong · GitHub