-
Notifications
You must be signed in to change notification settings - Fork 503
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
supported HTTP/2 #278
base: master
Are you sure you want to change the base?
supported HTTP/2 #278
Conversation
…s to be changed RFC: https://httpwg.org/specs/rfc7540.html#CONNECT The location where the code needs to be changed is as follows: 1. client read before data proxying: check and process HTTP/2 header ":authority" 2. client write before data proxying: Once backend connection is successfully established, the proxy sends a HEADERS frame containing a 2xx series status code to the client, as defined in 3. client read/write during data proxying: read/write DATA frames from/to client
…connect_module into for_pull_request
phrase from RFC as following
|
HINT: How upstream reads request body from http/2 DATA frame: If we dont wanna modify the http/2 logic in the nginx core, we need to use the logic of upstream reading request body.
|
…ream via http/2 protocol
…ding 200 OK ngx_http_v2_send_output_queue() will do this for us.
source notes for http/2 request body reading logic( DATA frame receiving logic):
|
If proxy_connect does not connect to backend server and DATA frame from client has already been sent to nginx, the logic backtrace is as following:
|
for http2 & upstream:
|
Unfortunately, there is no low-level IO operation API of This makes the implementation of supporting HTTP/2 in this module more complex. |
Great feature!! |
Question: |
This pr is under development, so some part of the logic is not completed. so it could not support the HTTP2 now. |
try to fix: #25
RFC: https://httpwg.org/specs/rfc7540.html#CONNECT
WIP: not ready now