Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support proxying HTTP/2 to backend applications #16

Open
Cryptophobia opened this issue Mar 13, 2018 · 3 comments
Open

Support proxying HTTP/2 to backend applications #16

Cryptophobia opened this issue Mar 13, 2018 · 3 comments

Comments

@Cryptophobia
Copy link
Member

From @codyaray on November 9, 2016 14:14

We're looking for a PaaS which supports proxying HTTP/2 to the backend app to enable mobile support for gRPC. Deis supports terminating HTTP/2 at the router and opening an HTTP/1.1 connection to the app (#216) currently. The only L7 router that I know of which supports HTTP/2 to the backend is nghttpx (with --http2-bridge in v1.8 or backend=<ADDR>,<PORT>;;proto=h2;tls later). The other option is using a L4 load balancer to opaquely proxy the TCP stream. Felix says that the only tool he knows of to route to multiple TCP backends based on the SNI header is HAProxy.

Copied from original issue: deis/router#287

@Cryptophobia
Copy link
Member Author

From @krancour on November 9, 2016 16:47

For now, you can always skip the router for select applications by making your service "non-routable" and then also manually editing it to be of Type: LoadBalancer. Such an app will have it's own external load balancer (e.g. ELB or similar) and raw TCP will flow straight from there to your pods.

@Cryptophobia
Copy link
Member Author

From @codyaray on January 11, 2017 17:30

Wait, so how does this work exactly? https://deis.com/blog/2016/grpc-on-workflow/

Is it because there's no external LB / routing is disabled? (We're looking for gRPC between mobile device and backend server.)

@Cryptophobia
Copy link
Member Author

From @bacongobbler on January 17, 2017 4:23

The communication between the two apps is internal to the cluster. It doesn't go through the router.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant