Skip to content

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.

Go to the labs Lab repository

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, location matching, 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

Topic Lab
Architecture, configuration model, virtual hosts, location matching LAB01
Reverse proxy, headers, WebSockets LAB02
Load balancing, failover, sticky routing LAB03
Static content, caching, compression LAB04
TLS, HTTP/2, HTTP/3, ACME LAB05
Topic Lab
Access control, rate limiting, security headers LAB06
Logging, request tracing, monitoring LAB07
TCP/UDP load balancing with stream LAB08
Dynamic modules and njs LAB09
Web Application Firewall: attack & defend LAB10
NGINX in containers and Kubernetes
Break-fix challenge LAB11

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.

Book this training

Get in touch