Errors
ERR_TOO_MANY_REDIRECTS (redirect loop)
This error means the browser was bounced between URLs until it gave up. The classic cause is a redirect loop between HTTP and HTTPS, very often a Cloudflare SSL setting fighting your server config.
403 Forbidden in nginx
A 403 Forbidden means nginx found the resource but refuses to serve it. Almost always a file permission problem, a missing index file, or an explicit deny rule.
503 Service Unavailable
A 503 means the server is temporarily unable to handle the request. With Laravel it often means maintenance mode is on; on a busy server it means PHP-FPM has no free workers.
CORS error: No Access-Control-Allow-Origin header
A CORS error means the browser blocked a cross-origin request because the server did not return the right headers. The fix is to send Access-Control-Allow-Origin from the API, not to disable browser security.
Your connection is not private
This browser warning means the SSL certificate could not be validated. As a site owner it usually points at an expired certificate, a missing chain, or a domain mismatch you can fix on the server.
502 Bad Gateway in nginx
A 502 Bad Gateway means nginx reached your application but got an invalid response back. In almost every case the backend (PHP-FPM) crashed, never started, or is unreachable.
SSL handshake failed in nginx (ERR_SSL_PROTOCOL_ERROR)
A failed TLS handshake means the browser and nginx could not agree on a secure connection. The top causes are an expired certificate and a missing intermediate chain.
curl (60) SSL certificate problem: unable to get local issuer certificate
This curl error means it could not verify the remote server certificate against a trusted root. Usually the local CA bundle is outdated or missing, not a problem with the remote site.
504 Gateway Timeout in nginx
A 504 Gateway Timeout means nginx reached your application, but the application took too long to respond. Unlike a 502, the backend is alive, it is just slow.
NET::ERR_CERT_AUTHORITY_INVALID
This browser error means the SSL certificate was not issued by a trusted authority, or the chain is incomplete. Usually a self-signed certificate, a missing intermediate, or an untrusted CA.
413 Request Entity Too Large in nginx
When uploading files you can encounter this error, which is caused by a limit in the nginx configuration.
Error in the HTTP2 framing layer
Once in a while I got this error when connecting to an external service on servers running Ubuntu 18.x or 20.x. After some research I got this flaky bug resolved!