aws-lc NGINX in 2026: Why we still ship quictls
by Danila Vershinin, April 26, 2026
Why GetPageSpeed packages aws-lc on EL but still links nginx-mod against quictls in 2026: the honest current state of TLS for NGINX HTTP/3.
Read More...NGINX slow_start: Gradual Upstream Ramp-Up Without Plus
by Danila Vershinin, April 22, 2026
NGINX Plus has slow_start to ramp traffic to freshly-live upstream servers from zero to full weight. Open-source NGINX has the struct field but never wired the scheduler. NGINX-MOD ships the missing scheduler logic and this article proves it with runtime measurements from a Rocky Linux VM.
Read More...NGINX Immutable Module: Far-Future Cache-Control Headers
by Danila Vershinin, April 21, 2026
Cut wasted revalidation requests on versioned static assets. The NGINX immutable module emits RFC-compliant far-future Cache-Control headers with the immutable attribute, stale-while-revalidate, and stale-if-error in a single directive. This guide covers every directive, runtime-verified configs for Rocky Linux 10, the Magento 2 cache-busting pattern, and why it beats expires max.
Read More...How to Enable NGINX HTTP/3 on Ubuntu and Debian
by Danila Vershinin, April 11, 2026
Getting NGINX HTTP/3 on Ubuntu to actually work is harder than the nginx docs make it look. You enable http3 on; in your NGINX config, restart, and Chrome still negotiates HTTP/2. Or worse: HTTP/3 appears to work, but connections silently die after every nginx -s reload. Both problems trace back to how stock Debian/Ubuntu nginx […]
Read More...NGINX JSONP: Safe Cross-Origin APIs with the XSS Module
by Danila Vershinin, April 7, 2026
Serve cross-origin JSONP from NGINX without the callback injection risk. The XSS module validates callback names against a strict JavaScript-identifier grammar, so hostile query parameters cannot be reflected as executable code.
Read More...NGINX XSLT Module: Transform XML Responses into HTML
by Danila Vershinin, April 6, 2026
Learn how to use the NGINX XSLT module to transform XML responses into HTML, RSS feeds into styled web pages, and XML API output into user-friendly formats – all at the web server level without modifying your backend.
Read More...NGINX Automatic Image Conversion: WebP and AVIF
by Danila Vershinin, April 5, 2026
Learn how to automatically convert and serve WebP and AVIF images in NGINX using the ngx_immerse filter module. This module transparently intercepts image responses from any source – static files, proxy_pass, or FastCGI – and converts them to modern formats based on browser support. No URL rewriting, no separate service, no application changes needed.
Read More...How Not to Write an NGINX Module: A WebP Case Study
by Danila Vershinin,
A deep technical analysis of ngx_webp – an NGINX module that converts images to WebP on-the-fly. It works, but violates nearly every principle of NGINX module development. We dissect what went wrong and show how to do it right.
Read More...NGINX WebAssembly: Extend NGINX with Proxy-Wasm Filters
by Danila Vershinin, April 4, 2026
Learn how to extend NGINX with WebAssembly using the ngx_wasm_module. Write custom filters in Rust, Go, or C++ using the Proxy-Wasm standard, and run them at near-native speed inside NGINX with full sandboxing — no C modules, no recompilation required.
Read More...NGINX WAF Module: Lightweight Web Application Firewall
by Danila Vershinin, April 3, 2026
Install and configure the ngx_waf module to protect NGINX against SQL injection, XSS, malicious bots, and CC attacks. Includes IP blacklists, regex rules, rate limiting, an advanced rule DSL, and an Under Attack challenge mode.
Read More...