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.

Last updated 18 October 2026

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#

Correction log#

DatePageWasNowWhy
2026-10-18502 vs 503 vs 504upstream sent no valid HTTP/1.0 header returns a 502, classically from plain HTTP sent to a TLS port or an h2c-only servernginx 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 insteadnginx 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-16Mutual TLS through a proxyA 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-16TLS termination, passthrough and re-encryptionHAProxy server ... ssl alone does not verify, with a parser warningHAProxy 3.2 verifies by default and refuses to start without a ca-fileHAProxy 3.2 manual (verify defaults to required) and a startup test on 3.2.26
2026-10-14Proxy buffering and streaming responsesA full temp disk produces 502sA full temp disk produces downloads that stop partway, logged as 200Reproduced 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:

FieldMeaning
DateWhen the correction was published
PageWhich page changed
WasThe claim as originally published
NowThe claim as it now reads
WhyThe 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.