# Traefik with grpc-web (+ Envoy?)

**URL:** <https://community.traefik.io/t/traefik-with-grpc-web-envoy/3831>\
**Category:** Traefik v2\
**Tags:** middleware\
**Created:** [January 13, 2020, 4:38pm UTC](https://community.traefik.io/t/traefik-with-grpc-web-envoy/3831 "2020-01-13T16:38:57Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![TannerYoung](https://avatars.discourse-cdn.com/v4/letter/t/dc4da7/32.png) [@TannerYoung](https://community.traefik.io/u/TannerYoung)\
**Post date:** [January 13, 2020, 4:38pm UTC](https://community.traefik.io/t/traefik-with-grpc-web-envoy/3831/1 "2020-01-13T16:38:57Z")

</div>

It looks like traefik doesn't have support for grpc-web and potentially won't for a while ([https://github.com/containous/traefik/issues/4210](https://github.com/containous/traefik/issues/4210))

I'm trying to figure out how to set up traefik to answer grpc-web requests at [grpc-web.mydomain.com](http://grpc-web.mydomain.com)

How should I set this up? Suposedly envoy can pass through the requests, so my initial thought would be to put envoy at that subdomain and have it route to the service. But the crux of the issue is traefik can't even forward the requests to envoy for decoding. It just CORS errors.

If I can't route to envoy, then it seems my only option is to have Envoy handle my routing outside of traefik (answer the grpc-web, decode, and pass it along to [grpc.mydomain.com](http://grpc.mydomain.com)). But if I do this, then envoy is just sitting at [mydomain.com:8091](http://mydomain.com:8091). This is annoying from a client perspective, and further it means I don't get the TLS support I've already set up with LetsEncrypt on traefik.

Am I out of luck here? Should I just entirely move everything over to Envoy? Do I have any other alternatives?

---

<div class="post-metadata">

**Author:** ![sobvan](https://sea2.discourse-cdn.com/flex020/user_avatar/community.traefik.io/sobvan/32/2187_2.png) [@sobvan](https://community.traefik.io/u/sobvan)\
**Post date:** [January 21, 2020, 8:09am UTC](https://community.traefik.io/t/traefik-with-grpc-web-envoy/3831/2 "2020-01-21T08:09:44Z")

</div>

Have you tried using Traefik for only pass-thorugh, and adding an envoy proxy behind traefik for doing the grpc-web to grpc translation. Are you using kubernetes or some other orchestartion framework?  
I am experimenting with this right now on kubernetes. I will come back with the results soon.

---

<div class="post-metadata">

**Author:** ![rbicker](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@rbicker](https://community.traefik.io/u/rbicker)\
**Post date:** [April 18, 2020, 1:56pm UTC](https://community.traefik.io/t/traefik-with-grpc-web-envoy/3831/3 "2020-04-18T13:56:19Z")

</div>

Hi, I posted the answer to your question in Stack Overflow: [https://stackoverflow.com/questions/59732958/how-to-use-traefik-and-envoy-in-the-same-project-to-handle-grpc-web](https://stackoverflow.com/questions/59732958/how-to-use-traefik-and-envoy-in-the-same-project-to-handle-grpc-web)
