Known issues
Here are some known bugs and issues with Cloudflare Pages:
Builds and deployment
GitHub and GitLab are currently the only supported platforms for automatic CI/CD builds. Direct uploads allow you to integrate your own build platform or upload from your local computer.
Monorepos or repositories with multiple codebases/applications currently cannot use the automatic GitHub/GitLab integration to build multiple sites from the same repository. However, Direct Uploads can be used to upload a monorepo as separate Pages projects from your own computer.
Incremental builds are currently not supported in Cloudflare Pages.
Uploading a
/functions
directory through the dashboard’s Direct Upload option does not work (refer to Using Functions in Direct Upload).Commits/PRs from forked repositories will not create a preview. Support for this will come in the future.
Git configuration
- After you have selected a GitHub/GitLab repository for your Pages application, it cannot be changed. Delete your Pages project and create a new one pointing at a different repository if you need to update it.
Build configuration
*.pages.dev
subdomains currently cannot be changed. If you need to change your*.pages.dev
subdomain, delete your project and create a new one.Hugo builds automatically run an old version. To run the latest version of Hugo (for example,
0.101.0
), you will need to set an environment variable. SetHUGO_VERSION
to0.101.0
or the Hugo version of your choice.By default, Cloudflare uses Node
12.18.0
in the Pages build environment. If you need to use a newer Node version, refer to the Build configuration page for configuration options.For users migrating from Netlify, Cloudflare does not support Netlify’s Forms feature. An equivalent to Netlify’s Serverless Functions is currently in beta.
Custom Domains
It is currently not possible to add a custom domain with
- a wildcard, for example,
*.domain.com
. - a Worker already routed on that domain.
- a wildcard, for example,
It is currently not possible to add a custom domain with a Cloudflare Access policy already enabled on that domain.
Cloudflare’s Load Balancer does not work with
*.pages.dev
projects; anError 1000: DNS points to prohibited IP
will appear.When adding a custom domain, the domain will not verify if Cloudflare cannot validate a request for an SSL certificate on that hostname. In order for the SSL to validate, ensure Cloudflare Access or a Cloudflare Worker is allowing requests to the validation path:
http://{domain_name}/.well-known/acme-challenge/*
.Advanced Certificates cannot be used with Cloudflare Pages due to SSL for SaaS’s certificate prioritization.
Pages Functions
Functions (beta) does not currently support adding/removing polyfills, so your bundler (for example, Webpack) may not run.
passThroughOnException()
is not currently available for Advanced Mode Pages Functions (Pages Functions which use an_worker.js
file).passThroughOnException()
is not currently as resilient as it is in Workers. We currently wrap Pages Functions code in atry
/catch
block and fallback to callingenv.ASSETS.fetch()
. This means that any critical failures (such as exceeding CPU time or exceeding memory) may still throw an error.
Enabling Access on your *.pages.dev
domain
If you would like to enable Cloudflare Access] for your preview deployments and your *.pages.dev
domain, you must:
- Log in to Cloudflare dashboard.
- From Account Home, select Pages.
- Select your Pages project.
- Go to Settings > Enable access policy.
- Select Edit on the Acccess policy created for your preview deployments.
- In Edit, go to Overview.
- In the Subdomain field, delete the wildcard (
*
) and select Save application. You may need to change the Application name at this step to avoid an error.
At this step, your *.pages.dev
domain has been secured behind Access. To resecure your preview deployments:
- Go back to your Pages project > Settings > General > and reselect Enable access policy.
- Review that two Access policies, one for your
*.pages.dev
domain and one for your preview deployments (*.<YOUR_SITE>.pages.dev
), have been created.
If you have a custom domain and protected your *.pages.dev
domain behind Access, you must:
- Select Add an application > Self hosted in Cloudflare Zero Trust.
- Input an Application name and select your custom domain from the Domain dropdown menu.
- Select Next and configure your access rules to define who can reach the Access authentication page.
- Select Add application.
If you have an issue that you do not see listed, let the team know in the Cloudflare Workers Discord. Get your invite at discord.gg/cloudflaredev, and share your bug report in the #pages-general channel.