Nginx & Proxies
Say what the proxy will do
Most arguments about a failing deployment are settled by two published algorithms and four defaults nobody reads. This is the machine in the middle, drilled until reading one is fast and writing one comes to hand: which block answers, what the origin is asked, who it believes is calling, what the cache filed it under.
- Modules
- 6
- Drills
- 14
- Build steps
- 3
- Time
- ~4h
Walk out able to
Take a configuration you have never seen and say what it does to a request — and take a symptom and name the one line that produced it.
What you drill
Which block wins
Server names and the location order, run by hand.
What the origin receives
The target, the headers, and the client it believes in.
Pools and certificates
Weighted shares, failure clocks, and the edge handshake.
The cache in the middle
Its verdict, its key, and how long a copy may be served.
What you get
Skills that stick
Every project mixes short lessons, focused drills and real build steps, so you finish with working code and the judgement behind it.
You will practise
- Location and server-name matching, by hand
- Proxy targets, headers, and the client address
- Weighted pools and the passive-failure clock
- Certificates at the edge, and the cache key
Afterwards you can
- Name the block that serves a given request
- Say what address the origin believes you are
- Work out a weighted share and a failure clock
- Name the rule behind a redirect loop
Modules
Step by step
Each module builds on the last. Read a short lesson, drill it until it's second nature, then put it to work.
- 1
Which block serves this
~39 minRun both selection algorithms: the server block first, then the location.
- LessonWatch a request get routed twice6 min
- LessonRun the server-name priority6 min
- LessonRun the location order7 min
- DrillName the block that serves it11 min
- DrillPick the server block9 min
- 2
Hand it to the origin
~21 minSay what target and what headers the origin is actually asked with.
- DrillSay what reaches the origin10 min
- DrillSay what headers arrive11 min
- 3
Who the client is
~38 minName the address the origin believes, and where the belief came from.
- LessonWhy the origin sees one address6 min
- LessonDecide which entry to believe7 min
- DrillName the address the origin sees12 min
- DrillFind the forwarding fault13 min
- 4
Spread it across backends
~20 minWork out a weighted share, and say when a failed backend comes back.
- DrillWork out the share9 min
- DrillSay if the backend is out11 min
- 5
Terminate TLS at the edge
~38 minSay which certificate a handshake could use, and what termination hides.
- LessonWhat the handshake decides5 min
- LessonMatching a block is not matching a name7 min
- LessonWhat termination hides from the origin5 min
- DrillSay which certificate is served9 min
- DrillFind the TLS edge fault12 min
- 6
Cache in front of the origin
~1hRead the cache, write the directives yourself, and run a proxy of your own.
- DrillSay what the cache did10 min
- DrillSay whether they share an entry11 min
- DrillWork out how long it lives9 min
- DrillWrite the line that does it10 min
- Build stepPut a proxy in front of an origin8 min
- Build stepGive the origin the host you asked for5 min
- Build stepHand the origin the caller's address7 min
- LessonDiagnose a backend with no traffic6 min
- LessonDiagnose a header that stopped arriving5 min
- LessonDiagnose a pool that is quietly two4 min
- LessonDiagnose two customers sharing a page5 min
More in DevOps & cloud
Keep going
Linux & Shell
The prompt stops being a place you guess.
Foundational~4h5 modules
Linux: Processes & Systems
Stop guessing why it did not come back.
Intermediate~4h6 modules
Bash Scripting
The line you keep is a different thing from the line you type.
Intermediate~5h5 modules
Kubernetes: Objects
Stop guessing what the cluster will do next.
Intermediate~4h4 modules
Ready when you are.
Work through it at your own pace and pick up right where you left off.