Your CLAUDE.md Is Public: Block AI Agent Files in NGINX
by Danila Vershinin, October 29, 2026
AI coding agents leave CLAUDE.md, AGENTS.md and prompt files in your web root. Block them in NGINX and auto-ban the scanners that probe for them.
Read More...Ask Your AI Agent About Your NGINX Servers: Amplify MCP
by Danila Vershinin, October 22, 2026
GetPageSpeed Amplify now has a hosted MCP server. Connect Claude Code, Cursor, VS Code or Codex and ask about NGINX CVEs, gixy config findings, PHP exposure, metrics and uptime in plain language.
Read More...ngx_pagespeed Won’t Build on Modern NGINX? Install It
by Danila Vershinin, October 15, 2026
The original ngx_pagespeed fails to compile on NGINX 1.23+ and fails to load on modern glibc. Here is why, and how to install a version-matched nginx-module-pagespeed on Rocky Linux 9, AlmaLinux 9 and RHEL 9 with one dnf command, with AVIF and aarch64 support.
Read More...zlib-ng vs zlib in NGINX: Benchmark and Methodology
by Danila Vershinin, October 3, 2026
How we benchmarked zlib-ng against stock zlib the way NGINX really uses it: chunked streaming harness, ab end-to-end runs, x86_64 and aarch64 numbers, the gzip_http_version trap, and why level 1 users should switch to level 2.
Read More...NGINX Module Version Mismatch: When APT Lets It Through
by Danila Vershinin, October 1, 2026
An NGINX module built for 1.29.8 will not load into 1.31.5, and NGINX says so. The question is whether your package manager knew first. We reproduced a stale nginx-abi label letting APT install a mismatched pair, wedging dpkg and arming the next restart as an outage.
Read More...NGINX Accept-Language Redirects: No Lua Required
by Danila Vershinin, September 26, 2026
Redirect visitors to /en/, /fr/ or /de/ based on the Accept-Language header with the set_from_accept_language directive from nginx-module-accept-language. No Lua, njs or regex maps: VM-tested configs, cookie override, SEO-safe 302 redirects.
Read More...NGINX QUIC reuseport: HTTP/3 Silently Breaks Without It
by Danila Vershinin, September 17, 2026
Multi-worker NGINX HTTP/3 silently fails without reuseport on the QUIC listener: ~30% of connections fall back to HTTP/2 with nothing in the error log. One ss command diagnoses it; the fix needs a restart, not a reload.
Read More...ECH Without Padding Is a Lookup Table
by Danila Vershinin, September 10, 2026
ECH hides the SNI, yet every vhost we measured, 8 of 8 in the lab and 5 of 5 in production, was identifiable from server handshake record sizes alone. Here is the measured leak, and the one-directive NGINX module that closes it.
Read More...NGINX Directive Execution Order: The 11 Request Phases
by Danila Vershinin, September 7, 2026
How NGINX directive execution order really works: the 11 request phases, why return beats deny, why a server rewrite changes your location, and where third-party directives run. Every example curl-verified.
Read More...NGINX proxy_pass: URI Rewriting, Variables, and DNS Gotchas
by Danila Vershinin,
The exact proxy_pass URI rewriting rules, variable resolution gotchas, and three verified ways to fix NGINX’s frozen-DNS problem, including the upstream-jdomain module.
Read More...