-
Notifications
You must be signed in to change notification settings - Fork 227
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
Update Router to serve HTTP/2 traffic #278
Conversation
We have created an issue in Pivotal Tracker to manage this. Unfortunately, the Pivotal Tracker project is private so you may be unable to view the contents of the story. The labels on this github issue will be updated when the story is started. |
@ameowlia is this good to go? |
- Add integration test. - We were not able to get a router/router test working because making HTTP/2 requests to the test Server resulted in broken pipes. We believe this is due to differences in the test Server setup and the main.go setup used in the integration tests. This will require additional investigation. - Add router/router test to confirm that Gorouter can still server HTTP/1.1 traffic - Update protocol checking middleware to accept HTTP/2 [#177586561] [cloudfoundry/routing-release#200] Co-authored-by: Weyman Fung <[email protected]> Co-authored-by: Greg Cobb <[email protected]> Co-authored-by: Weyman Fung <[email protected]>
- added enableHTTP2 to config - defaults to false - passes to protocolcheck handler [cloudfoundry/routing-release#200] Co-authored-by: Weyman Fung <[email protected]>
- added an integration test for http/1.1 - removed the alpn settings if h2 is disabled Co-authored-by: Merric de Launey <[email protected]>
[cloudfoundry/routing-release#200] Co-authored-by: Greg Cobb <[email protected]> Co-authored-by: Carson Long <[email protected]>
@ameowlia is this PR good to go? |
Apologizes for the delay. Github comments are not the best way to ping me 😅 Acceptance Steps
🎉 ✨ Merging now. Thanks for all your hard work on this! |
Adds a manifest property,
enable_http2
, to enable the Gorouter to accept HTTP/2 connections. The property changes the protocol checking middleware and theserveHTTPS
function to allow HTTP/2. Note that connections made using HTTP/2 will still be proxied to backends over HTTP/1.1 because Envoy isn't currently configured to accept HTTP/2.We added integration tests to check HTTP/2 (and updated the old ones to check that gorouter can still serve HTTP/1.1). However, we weren't able to get a router/router test working because making HTTP/2 requests to the test Server resulted in broken pipes. We believe this is due to differences in the test Server setup and the
main.go
setup used in the integration tests. This will require additional investigation.[cloudfoundry/routing-release#200]