Skip to main content

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...

NGINX Compression Vary: Fix Broken Vary Headers


by Danila Vershinin,

The NGINX compression_vary module replaces the standard gzip_vary directive with smarter Vary header handling. It merges multiple Vary headers into one, removes duplicates, and properly appends Accept-Encoding — preventing CDN cache fragmentation and improving caching efficiency across gzip, Brotli, and Zstandard compression.

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...

NGINX Unbrotli Module: Decompress Brotli Responses


by Danila Vershinin, February 14, 2026

Brotli compression delivers superior compression ratios compared to gzip, making it ideal for serving web content. However, what happens when your storage backend already has Brotli-compressed files, but some clients cannot decompress them? The unbrotli module solves this problem by transparently decompressing Brotli-encoded responses for clients that lack Brotli support. What Is the Unbrotli Module […]

Read More...

NGINX mod_zip: Dynamic ZIP Archives Guide


by Danila Vershinin, February 4, 2026

Learn how to use NGINX mod_zip module to dynamically assemble ZIP archives on-the-fly without loading files into memory. Perfect for download portals, file sharing services, and any application that needs to serve multiple files as a single ZIP archive with minimal server resources.

Read More...

NGINX Length Hiding Module: Does It Actually Prevent BREACH Attacks?


by Danila Vershinin, February 2, 2026

The NGINX length hiding module is often recommended for BREACH attack mitigation, but security research shows it only slows down attacks, not prevents them. Learn what actually protects against BREACH: SameSite cookies, CSRF token rotation, and proper application architecture.

Read More...

Brotli NGINX Rocky Linux 10: Installation Guide


by Danila Vershinin, January 28, 2026

Learn how to install and configure Brotli compression for NGINX on Rocky Linux 10 and AlmaLinux 10. This complete guide covers installation via GetPageSpeed repository, optimal compression settings, verification, and production-ready configurations.

Read More...

NGINX Zstd Compression: Complete Configuration Guide


by Danila Vershinin, January 27, 2026

Learn how to configure Zstandard (zstd) compression in NGINX for faster websites. Complete guide with installation, configuration examples, performance benchmarks comparing zstd vs gzip vs Brotli, and best practices for RHEL, CentOS, Rocky Linux, and AlmaLinux.

Read More...

NGINX Gzip Compression: The Complete Configuration Guide


by Danila Vershinin, January 25, 2026

Learn how to configure NGINX gzip compression for optimal web performance. This comprehensive guide covers gzip_types, gzip_comp_level, gzip_min_length, and all other gzip directives with insights from NGINX source code analysis and production-tested configurations.

Read More...

How to Serve WebP Images Automatically with NGINX: Complete 2026 Guide


by Danila Vershinin, January 19, 2026

Learn how to automatically serve WebP images with NGINX to supporting browsers while falling back to JPEG/PNG for others. Covers content negotiation, the Vary header, on-the-fly conversion with nginx-module-webp, and the PageSpeed module.

Read More...