I have some kind of API, multiple remote hosts download json data served in static (text) files. Hourly. Recently some users reported my API does not work. Investigation shows it happened since December 2023, and the reason is their server can not download data.
I reproduced the problem.
I set up Page Rules etc to disable security, disable cache, perfomance etc that may block requests for particular URI and Host. It did not help.
I tried to call the page using
wget --debug -S --inet4-only --read-timeout=120 --timeout=180
just to avoid impossible for static contents situation when timeout could be hit.
So what I see: fot HTTP requests HTTP request sent, awaiting response… No data received. It happens much faster then 120 seconds set as a timeout. I would not tell preciselt but about 30 seconds.
HTTPS requests end with 126.96.36.199:443 connected. Created socket 5. Releasing 0x0000…60 (new refcount 1). GnuTLS: The TLS connection wass non-properly terminated. Closed fd 5. Unable to establish SSL connection.
So, briefly, IP is correct, ping/traceroute is normal, connection is established, request is sent but no reply so the call fails with no reply or no correct TLS reply errors. This happens for ANY subdomain of my domain called from the same datacenter. I’ve tested multiple hosts calling /robots.txt.
And one more dumb experiment. I put my Cloudflare proxy IP to the /etc/hosts file, like:
188.8.131.52 mydomain.net mydomain.zet. When I wget
mydomain.net, I got the error described before. When i request mydomain.zet, I get “Handshake failed” for HTTPS “409 Conflict” for HTTP, as expected for the host did not served by that node. So the server does not reply specific client from specific domain.
How to investigate this further? Why Cloudflare did not reply?