4 ms·
Caddy has problems with streaming gRPC (not simple request/response). So does Traefik to my understanding but Traefik might work better if reports are to be be
by tfigment 4y ago
Caddy has problems with streaming gRPC (not simple request/response). So does Traefik to my understanding but Traefik might work better if reports are to be believed. Nginx has support i think but ive not verified it. I like caddy simple config when it works.
None of the proxies seem to do well with bidirectional gRPC streams as they just treat gRPC as a h2 proxy but I'd love to see that proven wrong.
- m_sahaf 4y agoCaddy is capable of handling bidirectional gRPC streams! I have just tested it, and it works just fine. Caddy will immediately flush writes when upstream is `h2` or `h2c`[0] instead of having to wait until reading from socket is complete I used this Caddyfile to proxy to the route_guide example (https://github.com/grpc/grpc-go/tree/master/examples/route_guide https://github.com/grpc/grpc-go/tree/master/examples/route_g...): ``` localhost { reverse_proxy h2c://localhost:50051 } ``` It works like a charm. [0] https://github.com/caddyserver/caddy/blob/e4ce40f8ff0424054045de2461fc7228c66f3c61/modules/caddyhttp/reverseproxy/streaming.go#L125-L127 https://github.com/caddyserver/caddy/blob/e4ce40f8ff04240540...