Update to the story about Cloudflare and chess.rodeo.

After my last post, I removed Cloudflare entirely: I transferred the domain to Porkbun and routed traffic directly to the server.

It seemed like that was the end of it.

However, I accidentally noticed while on my home PC without VPN that the site wasn't loading completely; the number of games module was hidden for some reason. I went to investigate.

From the server side, everything looks fine:
curl https://chess.rodeo
responds quickly, the API is working, and there are no errors.

I started looking at the connections and saw a strange picture:

TCP to the server is established,
the TLS handshake passes,
but then some HTTP requests hang.

In other words, the connection was established, but there is no response.

At first, I thought it was something on my end. I checked Caddy, the backend, the logs—I tried everything—but nothing helped.

I contacted the host. They said everything is normal on their side and they don't see any network issues.

In the end, I decided to route traffic through a proxy, set up caching, and request limits along the way—and everything started working.

It seems that for some ISPs, the HTTP/HTTPS traffic was breaking somewhere along the route to the server. It works via a different route. Meanwhile, ping works, and SSH establishes fine. You could think everything is okay and not even know you have a problem.

Ideally, of course, you shouldn't rely on a single route and a single IP. You need a proxy or CDN with multiple entry points so traffic can take different paths. And wrap everything in monitoring (hello Sentry) and analytics.