When troubleshooting an issue with a HTTP response from Cloudflare, often your origin server may be the cause of this. Therefore, it is useful to request the same URL directly from your server to compare with the response from Cloudflare.
In these examples, the domain is
example.com and the IP address for the origin server is
First of all, to do this you'll need to identify the IP address of your origin server - if you don't know this already you can find this in your Cloudflare DNS settings by looking at the DNS records for your domain.
We're going to use the command line tool cURL here to check your server's response. For full information on the options available, take a look at the cURL manual page.
curl --silent --verbose https://example.com/example-url/here --resolve example.com:443:220.127.116.11 --insecure
If you wanted to use HTTP instead of HTTPS, you would change the URL to http:// and also the Port number in the
--resolve argument would change from
Note we have included the
--insecure flag in this command as it skip's cURL's default behaviour of validating the SSL certificate presented by your server. If you have a valid certificate installed, you can remove this flag.
--resolve flag allows you to neatly force a request to a specific IP address, but some older versions of cURL don't support it. If absolutely necessary, you can use a different way of doing this.
curl --silent --verbose http://18.104.22.168/example-url/here --header "Host: example.com"
The resulting output from cURL will show you the full HTTP response including headers direct from your origin server's IP address - removing Cloudflare from the equation entirely. Therefore if you still see the issue you're experiencing with this output, you can be sure you'll need to investigate what is happening on your server as the issue is not caused by Cloudflare. If its not obvious what the next step is from here, contacting your hosting provider for assistance is the best way forward.