NGINX in Practice¶
2 days · 9:00–16:00 Beginner – Intermediate 11 hands-on labs on-site or remote · English / Polish
Run NGINX 1.30 as the edge of a small online shop – PixelShop. Participants start with one web server and grow it lab by lab into a production-style edge: reverse proxy, load balancing with failover, caching, TLS with HTTP/2 and HTTP/3, access control and rate limiting, observability, njs scripting and a Web Application Firewall – ending with a break-fix challenge.
Who it's for¶
System administrators, DevOps engineers and developers who deploy web applications and APIs behind NGINX – or are about to.
Prerequisites: Linux shell, basic HTTP (methods, headers, status codes), a little Docker.
What you will be able to do¶
- Structure an NGINX configuration: server blocks,
locationmatching, includes, safe reloads - Put applications behind a reverse proxy – headers, timeouts, WebSockets
- Load balance with failover, sticky routing, DNS re-resolution and a backup server
- Speed things up with compression, browser caching and the proxy cache as a safety net
- Serve TLS properly – HTTP/2, HTTP/3 (QUIC), HSTS, SNI
- Protect the edge: basic auth,
auth_request, geo blocking, rate limiting, security headers - Observe traffic with JSON logs, request IDs and Prometheus metrics
- Balance TCP/UDP with
stream, build dynamic modules and script with njs - Stop common attacks with ModSecurity + OWASP CRS
- Find and fix broken configurations under time pressure
Agenda¶
Environment¶
Labs run on one Linux VM (Ubuntu 24.04, 2 vCPU, 4 GB RAM) with Docker Compose – the whole shop starts with ./bin/ngx up. Anyone who falls behind catches up with one command (./bin/ngx catchup <N>), so nobody gets stuck.