Using Cloudflare with custom domains on Vercel requires some minor steps to work correctly, this depends on whether the domain is being used with or without a proxy.
In this method, you need to insert a CNAME record with the value
Following this method will guarantee the speed and reliability of your domain since Vercel will handle the subdomain.
wwwsubdomain (www.example.com) when possible.
If your domain does require the Cloudflare's proxy to be turned on by default, only one requirement is needed:
- The domain must allow HTTP requests (without HTTPS) to the path
To verify if that is possible with your domain, you can run the following command (notice the
http:// part in the URL):
curl http://example.com/.well-known/acme-challenge -I
A configuration that does allow Vercel to run smoothly would return the following:
curl http://example.com/.well-known/acme-challenge -I HTTP/1.1 404 Not Found
If you run the
curl command and receive a
3XX redirect instead, Cloudflare is preventing this route from being accessed, and Vercel will mark the domain as not configured:
curl http://example.com/.well-known/acme-challenge -I HTTP/1.1 404 Moved Permanently
You need to explore the following configuration in the Cloudflare dashboard:
- Page Rules — You can disable HTTPS for the path
- Always use HTTPS — This configuration is under the "SSL/TLS" tab and it may affect your page rules.
- Other Configurations — Cloudflare can offer multiple settings and this will directly affect Vercel's ability to generate certificates.