[Feature Request] Support dynamic proxy_http_version configuration via plugin or metadata
- Dominant language
- Lua
- Stars
- 17.1k
- Forks
- 2.9k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 63
Description
### Description
Currently, the `proxy_http_version` in Apache APISIX is globally set (defaulting to 1.1) via the NGINX template. There is no supported way to dynamically change the HTTP version (e.g., to 1.0 or 1.1) based on the request host, route, or upstream context.
Attempting to set ngx.var.upstream_http_version in Lua does not affect the actual outbound request version (similar to the limitation discussed in [Kong Discussion #7330](https://github.com/Kong/kong/discussions/7330)).
Contributor guide
Research direction
Start by inspecting the NGINX template where proxy_http_version is globally configured, then trace the Lua handling around ngx.var.upstream_http_version. Determine how a supported plugin or metadata path could select the outbound HTTP version by host, route, or upstream context; done means the dynamic configuration works without relying on the ineffective variable assignment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua, nginx
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100