web server

How to Configure HAProxy for HTTP and TCP Load Balancing on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure HAProxy for HTTP and TCP Load Balancing on RHEL 9

HAProxy (High Availability Proxy) is a battle-hardened open-source load balancer and proxy for TCP and HTTP workloads. Where Nginx load balancing is sufficient for simple round-robin HTTP distribution, HAProxy provides a richer feature set: advanced health checks with multiple failure thresholds, ACL-based routing, Layer 4 TCP load balancing for non-HTTP protocols (MySQL, Redis, SMTP), detailed […]

Read more
How to Set Up Varnish Cache as a Reverse Proxy on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Set Up Varnish Cache as a Reverse Proxy on RHEL 9

Varnish Cache is a high-performance HTTP reverse proxy designed specifically for caching. Unlike Nginx FastCGI cache which caches PHP output files on disk, Varnish stores cached objects entirely in RAM and can serve tens of thousands of requests per second from memory. Varnish operates in front of your web server: it listens on port 80 […]

Read more
How to Configure Nginx FastCGI Caching on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure Nginx FastCGI Caching on RHEL 9

Nginx FastCGI caching stores the output of PHP-FPM (or any FastCGI backend) responses as files on disk and serves them directly without hitting PHP for subsequent requests. For a WordPress site or PHP application serving the same page to many users, this can reduce PHP execution from 200ms to under 1ms and cut server load […]

Read more
How to Enable Brotli and Gzip Compression in Nginx on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Enable Brotli and Gzip Compression in Nginx on RHEL 9

Text-based HTTP responses — HTML, CSS, JavaScript, JSON, XML, SVG — compress dramatically with standard compression algorithms, often achieving 60–80% size reduction. Nginx supports two compression algorithms: gzip (built-in, universal browser support) and Brotli (via the ngx_brotli dynamic module, 15–20% better compression than gzip for text, supported by all modern browsers). Enabling compression is one […]

Read more
How to Configure Nginx Rate Limiting and Connection Throttling on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure Nginx Rate Limiting and Connection Throttling on RHEL 9

Rate limiting is a server-side defence that restricts how many requests a client can make within a time window. Without rate limiting, a single IP address or bot can flood your server with thousands of requests per second — crashing your application, exhausting your database connection pool, or triggering denial-of-service conditions. Nginx provides two rate […]

Read more
How to Configure Nginx with ModSecurity WAF on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure Nginx with ModSecurity WAF on RHEL 9

ModSecurity as a dynamic Nginx module extends Nginx with WAF capabilities, blocking SQL injection, XSS, command injection, and hundreds of other attack patterns defined by the OWASP Core Rule Set. Unlike the Apache version which uses the stable mod_security2, the Nginx connector uses the newer libmodsecurity3 C++ library with a ngx_http_modsecurity_module connector. On RHEL 9, […]

Read more
How to Set Up ModSecurity WAF with Apache on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Set Up ModSecurity WAF with Apache on RHEL 9

ModSecurity is the leading open-source Web Application Firewall (WAF), capable of inspecting all HTTP requests and responses against a ruleset and blocking malicious traffic including SQL injection, cross-site scripting (XSS), remote file inclusion, and OWASP Top 10 attack patterns. Combined with the OWASP Core Rule Set (CRS), ModSecurity transforms Apache into a security gateway that […]

Read more
How to Install and Configure Caddy Web Server on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install and Configure Caddy Web Server on RHEL 9

Caddy is a modern, open-source web server written in Go that stands out for one defining feature: automatic HTTPS. Caddy obtains and renews TLS certificates from Let’s Encrypt or ZeroSSL automatically, with zero configuration required beyond specifying a domain name. It also supports HTTP/2 and HTTP/3 (QUIC) out of the box, and its declarative Caddyfile […]

Read more
How to Configure Nginx Load Balancing (Round-Robin, Least Conn) on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure Nginx Load Balancing (Round-Robin, Least Conn) on RHEL 9

Load balancing distributes incoming requests across multiple backend servers, preventing any single server from becoming a bottleneck and providing horizontal scalability and fault tolerance. Nginx supports four load balancing methods natively: round-robin (the default), least connections, IP hash (session persistence), and weight-based. The upstream block defines the pool of backend servers and their weights, and […]

Read more
How to Enable HTTP/2 with Nginx on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Enable HTTP/2 with Nginx on RHEL 9

HTTP/2 is the second major version of the HTTP protocol, standardised in 2015, and offers significant performance improvements over HTTP/1.1: header compression (HPACK), multiplexing (multiple requests over a single connection), server push, and binary framing. On a typical webpage with dozens of assets (CSS, JavaScript, images, fonts), HTTP/2 multiplexing eliminates the head-of-line blocking that forces […]

Read more
CHAT