Gathering information to troubleshoot site issues

Learn to gather data to diagnose issues and facilitate troubleshooting with Cloudflare support.  For most troubleshooting, Cloudflare strongly recommends generating a HAR file as a starting point.

This article formerly appeared under the title How do I generate a HAR file?


Overview

It is important to capture as much information as possible to diagnose an issue and to provide adequate details to Cloudflare support. This article explains how to gather troubleshooting information commonly requested by Cloudflare Support.

Cloudflare support cannot make configuration changes on behalf of customers due to security and liability concerns.

Generate a HAR file

A HTTP Archive (HAR) records all web browser requests including the request and response headers, the body content, and the page load time.

A HAR file can include sensitive details such as passwords, payment information, and private keys. Manually remove sensitive information from a HAR file via a text editor before providing to Cloudflare Support.

Currently, only Chrome and Firefox can access the HAR feature by default. Other browsers either require a browser extension or cannot generate a HAR. When installing a browser extension, follow the instructions from the extension provider.


Identify the Cloudflare data center serving your request

A map of our data centers is listed on the Cloudflare status page, sorted by continent. The three-letter code in the data center name is the IATA code of the nearest major international airport. Determine the Cloudflare data center serving requests for your browser by visiting:

  http://www.example.com/cdn-cgi/trace 

Replace www.example.com with your domain and hostname.  Note the colo field from the output.


Troubleshoot requests with cURL

cURL is a command line tool for sending HTTP/HTTPS requests and is useful for troubleshooting:

  • HTTP/HTTPS Performance
  • HTTP Error Responses
  • HTTP Headers
  • APIs
  • Comparing Server/Proxy Responses
  • SSL Certificates
cURL is not installed by default in Windows and requires an install wizard.

Run the following command to send a standard HTTP GET request to your website (replace www.example.com with your domain and host name):

curl -svo /dev/null http://www.example.com/

This example cURL command returns output detailing the HTTP response and request headers but discards the page body output. cURL output confirms the HTTP response and whether Cloudflare is currently proxying traffic for the site. The presence of the CF-RAY header in the response confirms the request was proxied through Cloudflare:

CF-Ray: 5097b5640cad8c56-LAX
Review the cURL command options for additional functionality.

Expand the sections below for tips on troubleshooting HTTP errors, performance, caching, and SSL/TLS certificates:


Temporarily pause Cloudflare

Pause Cloudflare to send traffic directly to your origin web server instead of Cloudflare's reverse proxy. No Cloudflare services such as SSL or WAF are enabled for paused domains.  An alternative to pausing Cloudflare globally is to grey-cloud the records receiving traffic in your Cloudflare DNS app.

When troubleshooting caching issues, an alternative to pausing Cloudflare is Development Mode which only bypasses Cloudflare's cache.

To temporarily pause Cloudflare:

  1. Navigate to the Overview tab in the Cloudflare dashboard.
  2. Click Pause Cloudflare on Site at the bottom-right of the page under Advanced Actions.
Pausing Cloudflare takes 5 minutes or less to complete and is preferred to changing your name servers away from Cloudflare since changing nameservers can cause propagation delays of several hours.

Perform a traceroute

Traceroute is a network diagnostic tool that measures the route latency of packets across a network. Most operating systems support the traceroute command. If you experience connectivity issues with your Cloudflare-proxied website and ask Cloudflare Support for assistance, ensure to provide output from a traceroute.

Timeouts are possible for ping results because Cloudflare limits ping requests.

Review the instructions below for running traceroute on different operating systems. Replace www.example.com with your domain and host name in the examples below:


Add the CF-RAY header to your logs

The CF-RAY header traces a website request through Cloudflare's network. Provide the CF-RAY of a web request to Cloudflare support when troubleshooting an issue. You can also add CF-RAY to your logs by editing your origin web server configuration with the snippet below that corresponds to your brand of web server:


Related resources

 

Not finding what you need?

95% of questions can be answered using the search tool. This is the quickest way to get a response.

Powered by Zendesk