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 #287

Open
codyaray opened this issue Nov 9, 2016 · 4 comments
Open

Support proxying HTTP/2 to backend applications #287

codyaray opened this issue Nov 9, 2016 · 4 comments

Comments

@codyaray
Copy link

codyaray commented Nov 9, 2016

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.

@krancour
Copy link
Contributor

krancour commented Nov 9, 2016

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.

@codyaray
Copy link
Author

codyaray commented Jan 11, 2017

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.)

@bacongobbler
Copy link
Member

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

@Cryptophobia
Copy link

This issue was moved to teamhephy/router#16

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

5 participants