en un clic
nginx-knowledge-patch
NGINX
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
NGINX
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
AlmaLinux
Angular
Arch Linux
Astro
Auth.js
AWS SDK
| name | nginx-knowledge-patch |
| description | NGINX |
| license | MIT |
| version | 1.31.0 |
| metadata | {"author":"Nevaberry"} |
Baseline: NGINX Open Source through stable 1.26.x and mainline 1.27.1; covers batches 1.27.2, 1.28.0, 1.29.0, 1.30.0, and 1.31.0, plus relevant FreeNginx 1.27/1.29 and NGINX Plus through R36.
| Reference | Topics |
|---|---|
| security-and-upgrades.md | CVEs, fixed-version boundaries, request hardening, unsafe legacy behavior |
| core-http-and-runtime.md | listeners, core HTTP behavior, variables, filters, rate controls, builds |
| upstreams-and-proxying.md | keepalive, runtime DNS, balancing, retries, HTTP/2 backends, trailers, caches |
| tls-certificates-and-quic.md | trust, OCSP, certificate loading and caches, ECH, TLS observability, QUIC |
| stream-mail-and-protocols.md | stream TLS, mail proxying, PROXY TLVs, GeoIP2, MQTT, cross-module handoff |
| nginx-plus-operations.md | support lifecycle, licensing, platforms, images, OIDC, ACME, API, key-value data |
Treat NGINX Open Source, FreeNginx, and NGINX Plus as distinct product lines. Do not copy a FreeNginx-only directive into NGINX Open Source or assume a Plus-only directive exists in a standard build. This patch labels fork-specific and commercial features explicitly.
Prioritize fixed releases before configuration work:
| Exposure | Affected releases or condition | Minimum fixed boundary in this patch |
|---|---|---|
| HTTP/3 NULL dereference and use-after-free | 1.25.0–1.25.3 as applicable | 1.25.4 |
| Four HTTP/3 memory-safety flaws | 1.25.0–1.25.5 and 1.26.0 | 1.26.1 or 1.27.0 |
| MP4 buffer overread, CVE-2024-7347 | 1.5.13–1.27.0 | 1.26.2 or 1.27.1 |
| TLS 1.3 SNI session reuse bypassing client-certificate verification | before 1.27.4 | 1.27.4 |
| 1.28-series mail, TLS proxy, WebDAV, MP4, and QUIC issues | 1.28.0–1.28.2 as applicable | 1.28.3; some fixes land in 1.28.1/1.28.2 |
| 1.30-series request, rewrite, upstream, charset, QUIC, and OCSP flaws | 1.30.0–1.30.2 as applicable | 1.30.3; see the per-CVE table |
| Crafted HTTP/3 QUIC session use-after-free | before 1.31.2 | 1.31.2 |
Read security-and-upgrades.md for exact CVEs, affected configurations, and intermediate fixed releases. Do not treat a later feature release as evidence that its earlier patch releases are safe.
Since 1.29.7, upstream connection caching defaults to keepalive 32 local; per worker, and HTTP proxying defaults to HTTP/1.1. local prevents reuse across locations that happen to reach the same address. Disable caching explicitly with keepalive 0 when required.
upstream backend {
server 127.0.0.1:8080;
keepalive 64 local;
}
Current NGINX rejects HTTP/2 and HTTP/3 requests carrying Connection, Proxy-Connection, Keep-Alive, Transfer-Encoding, or Upgrade. It accepts TE only when its value is trailers. Remove hop-by-hop fields before protocol translation.
FreeNginx 1.29.1 rejects proxied HTTP/0.9 responses by default; opt in with proxy_allow_http09 only for a known legacy backend. It also ignores interim 1xx responses and offers proxy_allow_duplicate_chunked for duplicate chunked encoding.
FreeNginx 1.29.0 changes limit_rate to a leaky-bucket algorithm and makes limit_rate_after the burst allowance. Recheck existing rate-limit tuning; use send_min_rate and client_body_min_rate when a minimum transfer rate is required.
FreeNginx no longer loads external character entities declared in an internal DTD subset by default. Enable xml_external_entities only for configurations that intentionally need them.
--without-http_upstream_sticky_module; --without-http_upstream_sticky is deprecated.mqtt_rewrite_buffer_size with mqtt_buffers for NGINX Plus MQTT buffer sizing.From R33, install a per-instance JWT license token and permit hourly usage reporting over a verified connection. An initial report is required after install or upgrade; without it, traffic processing stops unless the optional 180-day enforce_initial_report grace period is enabled. Use Instance Manager as a relay in restricted networks; R34 adds report-proxy support and R35 adds automatic renewal.
From 1.27.3, standard builds support upstream resolver, resolver_timeout, and server parameters resolve and service. Put dynamically resolved groups in shared memory with zone.
upstream api {
zone api 64k;
resolver 10.0.0.53 valid=30s;
resolver_timeout 5s;
server api.example.com resolve;
}
For SRV discovery, add service=http; the lowest numeric priority is primary and later priorities are backups.
Since 1.29.4, select HTTP/2 upstream proxying explicitly. Build with ngx_http_v2_module.
location / {
proxy_http_version 2;
proxy_pass https://backend;
}
Since 1.27.2, enable trailer forwarding and advertise trailer support to the backend.
proxy_set_header Connection "te";
proxy_set_header TE "trailers";
proxy_pass_trailers on;
From 1.29.0, NGINX accepts HTTP 103 responses from proxy and gRPC backends. Use early_hints to control whether preliminary hints reach the client before the final response.
Since 1.27.4, avoid reloading variable-selected certificate files for every handshake by configuring the relevant cache. Both caches are off until configured; inactive and valid default to 10 seconds and 60 seconds.
ssl_certificate $ssl_server_name.crt;
ssl_certificate_key $ssl_server_name.key;
ssl_certificate_cache max=1000 inactive=20s valid=1m;
proxy_ssl_certificate $proxy_ssl_server_name.crt;
proxy_ssl_certificate_key $proxy_ssl_server_name.key;
proxy_ssl_certificate_cache max=1000 inactive=20s valid=1m;
From 1.31.0, use least_time inside an upstream block when response-time-based selection is more appropriate than round robin or connection count.
From 1.31.0, use proxy_ssl_alpn to advertise ALPN protocols on TLS connections from the stream proxy to an upstream server.
NGINX 1.29.4 adds ssl_ech_file for a PEM ECHConfig in HTTP and stream shared mode, currently requiring the OpenSSL ECH feature branch. Inspect $ssl_ech_status and $ssl_ech_outer_server_name when diagnosing negotiation. FreeNginx added TLS 1.3 ECH separately in 1.29.2; do not assume identical build requirements.
Use $host$is_request_port$request_port: $is_request_port expands to : only when $request_port is nonempty, avoiding a trailing colon for authorities without an explicit port.
max_conns without zone is per worker and cached idle connections can push totals above the configured number.ssl_key_log and proxy_ssl_key_log emit SSLKEYLOGFILE data suitable for decryption tools.