Networking
redirect_uri_mismatch and the Rest of OAuth Debugging
OAuth errors are unhelpful by design, because detailed errors would help attackers too. Here is how to work out what is actually wrong.
DNS, timeouts, retries, connection pools and latency that no dependency reports and no dashboard shows.
Networking
OAuth errors are unhelpful by design, because detailed errors would help attackers too. Here is how to work out what is actually wrong.
Networking
How to handle being rate limited without making it worse, and how to implement limits that do not punish well behaved clients.
Kubernetes
nslookup resolves and your application cannot connect. The two use different resolvers, and the difference is where the bug lives.
Networking
A missing timeout turns a slow dependency into an outage. A badly chosen one turns a blip into a retry storm. Both are common.
Networking
The proxy is telling you your application failed. Here is how to read the error log line and identify which of six things went wrong.
Node.js
Address already in use. Here is how to find the process, why it sometimes is not a process at all, and why the port stays busy after you kill it.
Networking
Your browser trusts the certificate and your application does not. They use different trust stores, and inside a container there may not be one at all.
JavaScript
The angle bracket is the first character of an HTML error page. Your API returned a page, not JSON, and here is how to find out which page.
Networking
no-cache does not mean do not cache. max-age on a CDN is not what you think. Here is what each directive actually does.
JavaScript
CORS errors are a browser protecting you from a response it already received. Understanding that one fact makes every CORS error obvious.