Corrections
The log of substantive corrections made to ZigProxy pages after publication, with the date, the claim that was wrong and the claim that replaced it.
Technical reference content goes out of date and occasionally goes out wrong. When it does, the fix belongs in public rather than silently in the page.
The policy#
- Substantive corrections are logged here. A correction is substantive if it changes a factual claim, a default value, a version boundary, or the practical advice a reader would act on.
- Fixes are made in the page itself, not appended as a note, so nobody reads the wrong version. The page's Updated date changes at the same time.
- Typographic, formatting and link fixes are not logged. Neither are expansions that add new material without changing what was already there.
- Removals are logged too. If a claim is withdrawn because it could not be verified on re-reading, that is recorded here with the reason.
Correction log#
| Date | Page | Was | Now | Why |
|---|---|---|---|---|
| 2026-10-18 | 502 vs 503 vs 504 | upstream sent no valid HTTP/1.0 header returns a 502, classically from plain HTTP sent to a TLS port or an h2c-only server | nginx returns no 502: it forwards the bytes as HTTP/0.9 and logs status 009. Plain HTTP to a TLS port and h2c-only servers produce a backend 400, prematurely closed or a reset instead | nginx source (ngx_http_proxy_process_status_line, 502 branch under #if 0) and tests on nginx 1.27.5, 1.28.3 and 1.30.6. Detail in why nginx logs no valid HTTP/1.0 header |
| 2026-10-16 | Mutual TLS through a proxy | A three-level PKI needs ssl_verify_depth 2, and too low a depth logs (22:certificate chain too long) | The depth counts intermediates only: a three-level PKI verifies at the default of 1, and too low a depth logs (20:unable to get local issuer certificate) | Reproduced on nginx 1.30.6 with OpenSSL 3.5, matching OpenSSL's documented -verify_depth rule. Detail in why nginx fails the TLS handshake to an HTTPS upstream |
| 2026-10-16 | TLS termination, passthrough and re-encryption | HAProxy server ... ssl alone does not verify, with a parser warning | HAProxy 3.2 verifies by default and refuses to start without a ca-file | HAProxy 3.2 manual (verify defaults to required) and a startup test on 3.2.26 |
| 2026-10-14 | Proxy buffering and streaming responses | A full temp disk produces 502s | A full temp disk produces downloads that stop partway, logged as 200 | Reproduced on nginx 1.27.5 and 1.30.5: the status line is sent before the first temp file write, so the failure can only truncate the body. Detail in why nginx cuts off large downloads |
Each entry records:
| Field | Meaning |
|---|---|
| Date | When the correction was published |
| Page | Which page changed |
| Was | The claim as originally published |
| Now | The claim as it now reads |
| Why | The source or version that prompted the change |
Reporting an error#
Send the page URL, the specific sentence, and what contradicts it: a specification section, a documentation page, a source file, or a reproducible observation with the exact software version. See contact.
Reports that include a primary source are actioned fastest. If you are reporting behaviour that differs on your version, the version number is the most important part of the report, because the answer is often that both statements are correct for different releases and the page needs to say so.
The full method is described in editorial standards.