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

Full HTTP/2 & gRPC proxying #1125

Open
krizhanovsky opened this issue Nov 29, 2018 · 0 comments
Open

Full HTTP/2 & gRPC proxying #1125

krizhanovsky opened this issue Nov 29, 2018 · 0 comments

Comments

@krizhanovsky
Copy link
Contributor

krizhanovsky commented Nov 29, 2018

Depends

#769 - Full TLS proxying

Scope

gRPC is a widely used on micro-services projects and it uses HTTP/2. Full HTTP/2 proxying (HTTP/2 connections to backed) must be implemented to work in content delivery and filtration network cases and gRPC proxying and load balancing.

There is not much sense in Huffman encoding for response headers, but it's different for requests, so Huffman encoding must be implemented. Keep in mind that not all the headers should be HPACKed. E.g. it seems Cookie - should neither be indexed nor Huffman encoded.

Avoiding headers variation probably makes sense - while the standard is sitll in draft we still can rebuild headers just like we do this for HTTP/2 -> HTTP/1.1 transition, of course if it makes sense from performance point of view.

We got rid of seq_queue in #309 and in this task we can get rid of nip_queue.

Security

Need special hooks for inspection logic for gRPC traffic, e.g. https://github.com/tempesta-tech/tempesta/wiki/HTTP-security#custom-character-sets . In general, fRPC traffic must be inspected just as HTTP.

Testing

The test must run gRPC client and server communication through Tempesta FW. Create a gRPC issue if some issues with gRPS are discovered by the test.

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