Skip to main content

NGINX Lua Module: Programmable Web Serving Guide


by Danila Vershinin, March 15, 2026

Learn how to extend NGINX with the Lua module for custom authentication, rate limiting, API gateways, and more. Includes installation on RHEL, CentOS, Ubuntu, and practical examples with 110+ ready-to-install Lua libraries from the GetPageSpeed repository.

Read More...

NGINX CDN Loop Detection: Prevent Request Loops


by Danila Vershinin, March 14, 2026

Learn how to prevent infinite request loops in NGINX CDN and reverse proxy configurations using the loop detect module. This module implements RFC 8586’s CDN-Loop header to track request hops and automatically block runaway loops before they consume server resources.

Read More...

NGINX HTTP/3 Is Broken After Reload — Here’s the Fix F5 Won’t Ship


by Danila Vershinin, March 13, 2026

NGINX silently drops ~50% of HTTP/3 connections after reload when quic_bpf is enabled. The bug has been known for over a year. F5 won’t fix it. nginx-mod ships the fix today.

Read More...

NGINX Limit Traffic Rate Module Guide


by Danila Vershinin, March 11, 2026

Learn how to limit total download bandwidth across multiple connections using the NGINX limit_traffic_rate module. Unlike the native limit_rate directive that applies per-connection, this module enforces a shared bandwidth limit by client IP or URL.

Read More...

NGINX Let Module: Arithmetic and Hashing in Config


by Danila Vershinin,

The NGINX let module adds inline arithmetic, string concatenation, bitwise operations, and cryptographic hashing directly to your NGINX configuration. Learn how to install, configure, and use the let directive to compute variables on the fly — without Lua or external scripting.

Read More...

NGINX Internal Redirect Module: Install and Configure


by Danila Vershinin, March 8, 2026

The NGINX internal redirect module performs server-side URI rewrites in the preaccess, access, precontent, or content phases — after variables from map, geo, and auth modules are already resolved. Unlike the built-in rewrite directive, it gives you regex-based conditional routing that runs later in the request lifecycle, with support for named locations, external redirect status codes, and per-rule conditions.

Read More...

NGINX iconv Module: Character Encoding Conversion


by Danila Vershinin,

Learn how to use the NGINX iconv module to convert character encodings directly at the web server level. This guide covers installation, configuration of set_iconv and iconv_filter directives, and practical examples for serving content in different encodings like GBK, Shift_JIS, and ISO-8859-1.

Read More...

NGINX Graphite Module: Send Server Metrics to Graphite


by Danila Vershinin, March 7, 2026

Learn how to send NGINX metrics directly to Graphite with the NGINX Graphite module. Collect per-location request rates, response times, status codes, and percentiles — all aggregated in shared memory and transmitted over UDP or TCP without blocking request processing.

Read More...

NGINX Concat Module: Combine CSS and JS Files


by Danila Vershinin, March 2, 2026

Learn how to use the NGINX concat module to combine multiple CSS and JavaScript files into a single HTTP response. Reduce request overhead, improve page load times, and understand when server-side concatenation still outperforms HTTP/2 multiplexing.

Read More...

Accept-Encoding Normalization in NGINX for Better Caching


by Danila Vershinin, March 1, 2026

Learn how to normalize Accept-Encoding headers in NGINX to prevent cache variant explosion. The compression-normalize module standardizes client compression preferences, dramatically improving proxy cache hit rates when using Vary: Accept-Encoding.

Read More...