v0.32.2
This commit is contained in:
1 parent
bb025dcf44
commit
b0f211555a
74 files changed
+6089
-556
No files matched your search
+22
-3
@@ -239,9 +239,28 @@ Disabling reuse sets the idle pool limit to zero and disables keepalive probes.
|
||||
limit is not a separate per-backend active-request cap; global connection/exchange bounds
|
||||
still apply. HTTP health probes use separate no-reuse HTTP/1.1 connections.
|
||||
|
||||
`http2` over HTTPS prefers h2 but keeps HTTP/1.1 ALPN compatibility. Over plaintext,
|
||||
`http2` remains explicit prior-knowledge h2c with no retry-based downgrade. `auto`
|
||||
over HTTP is HTTP/1.1. `http2`/`auto` require `preserve_host: false` to keep origin
|
||||
Backend upstream `protocol` has four modes:
|
||||
|
||||
| UI mode | Serialized value | Backend behavior |
|
||||
|---|---|---|
|
||||
| **HTTP/1.1** | `http1` | HTTP/1.1 only over HTTPS or HTTP; default for new backends |
|
||||
| **Auto** | `auto` | HTTPS: prefer H2 and negotiate H1 fallback with ALPN before sending a request; HTTP: H1 only, without H2C probing |
|
||||
| **HTTP/2 compatible** | `http2` | **Unchanged 0.32.2 behavior**: HTTPS offers H2/H1 via ALPN; plaintext HTTP uses H2C prior knowledge (no H1 downgrade on HTTP) |
|
||||
| **H2 only** | `h2` | HTTPS: require H2 via ALPN; reject H1-only peers. HTTP: prior-knowledge H2C, no fallback |
|
||||
|
||||
**0.32.2 -> 0.32.3 compatibility:** saved `"protocol": "http2"` retains its existing
|
||||
HTTPS ALPN fallback and cleartext H2C behavior. No conversion, migration or
|
||||
administrator action is needed to preserve the old selection. Choose the new
|
||||
`"protocol": "h2"` only when H2 must be enforced. The editor describes the
|
||||
transport for the selected backend URL; a descriptive notice next to compatible
|
||||
HTTPS `http2` is informational, not a migration warning.
|
||||
|
||||
HTTPS Auto negotiation selects the wire protocol **before sending the request**.
|
||||
RustProxy does not replay an ambiguous failed POST/PATCH/DELETE through H1, and
|
||||
does not interpret backend 4xx/5xx responses as a reason to switch protocols.
|
||||
Existing pool reuse, keep-alive, client generation rotation and the independent
|
||||
HTTP/1.1 WebSocket Upgrade / H2 Extended CONNECT paths are retained.
|
||||
HTTP health probes continue to use HTTP/1.1; H2C-only peers can use TCP probes. `http2`/`h2`/`auto` require `preserve_host: false` to keep origin
|
||||
URI/authority/TLS identity consistent. HTTPS backend certificate verification is disabled when `tls_verify` is omitted. Enable `tls_verify: true` when origin identity must be validated; for IP-based origins use a DNS `tls_server_name` present in the certificate and provide `tls_ca_pem` when the issuer is private.
|
||||
|
||||
## Scheduling
|
||||
|
||||
Reference in new issue
Block a user