Runbook: Úprava nginx location bloků
Kdy použít
Když je potřeba přidat, odebrat nebo upravit location block v nginx configu služby na hub-alfa nebo prod-alfa.
Prerekvizity
- SSH přístup na cílový server (Tailscale)
- Znalost, která služba je dotčená a na jakém portu běží
Postup
1. Přečti aktuální config
2. Ověř stav před změnou
# Otestuj aktuální chování dotčené URL
curl -s -o /dev/null -w '%{http_code}' https://<domain>/<path>/
3. Proveď změnu
# Příklad: odebrání location bloku
ssh root@<server> "sed -i '/<pattern_start>/,/}/d' /etc/nginx/sites-enabled/<domain>"
# Příklad: přidání location bloku — použij heredoc
ssh root@<server> "sed -i '/<insert_before>/i\\
location /path/ {\\
proxy_pass http://127.0.0.1:<port>;\\
}' /etc/nginx/sites-enabled/<domain>"
4. Ověř syntax
Pokud syntax FAIL → oprav chybu, NEreloaduj.5. Zkontroluj výsledný config
6. Reload nginx
7. Ověř funkčnost
# Health check služby
ssh root@<server> "curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:<port>/health"
# Test dotčené URL
curl -s -o /dev/null -w '%{http_code}' https://<domain>/<path>/
8. Dokumentace
- Zapsat do CHANGES.md
- Zapsat do memory:inbox (type: config-change)
Rollback
# Pokud máš zálohu:
ssh root@<server> "cp /etc/nginx/sites-enabled/<domain>.bak /etc/nginx/sites-enabled/<domain> && nginx -s reload"
# Pokud nemáš — ručně vrátit block zpět a nginx -s reload
Historie použití
| Datum | Server | Doména | Změna | Task |
|---|---|---|---|---|
| 2026-03-20 | prod-alfa | pulselab.cz | Odebrán location /outputs/ block |
T-20260320-063 |
| 2026-04-28 | prod-alfa | auth.studio60.cz | location = /.well-known/openid-configuration → generic location /.well-known/ (MCP OAuth discovery fix) |
T-20260428-284 |
| 2026-04-28 | hub-alfa | pulse.s60hub.cz | Přidán location /mcp SSE-friendly (proxy_buffering off, 3600s timeouts) |
T-20260428-299 |
| 2026-04-28 | prod-alfa | pulselab.cz | Přidán location /mcp SSE-friendly (proxy_buffering off, 3600s timeouts) |
T-20260428-299 |