The CloudFlare module provides integration with the CloudFlare CDN using the CloudFlare API see: https://api.cloudflare.com/
Special thanks to Wim Leers and Niels Van Mourik for their collaboration and support on all things cache and purge!
- Cache clearing by Path (Recommended For Free and Professional) and Tag (Enterprise).
- Restore client's original IP address.
- CTools D8 Module
- Purge D8 Module (for purging)
- URLs Queuer Module (for free tier or purging by URL only)
- CloudFlarePhpSdk - The module relies on the CloudFlarePhpSdk for all interactions with the CloudFlare API.
- Report bugs and request features in the GitHub CloudFlare Issue Queue.
- Use pull requests (PRs) to contribute to CloudFlare.
- Free Tier does not support cache tags.
- If you attempt to configure tag based purging on Free Tier you will get HTTP 400 error codes in the error log.
- Free Tier don't have a vary by cookie. In English? That means if you login to
your site then authenticated pages can get cached by the CDN. So anonymous users
users see what appear to be authenticated pages (they are not really authenticated).
To work around we recommend that you setup a separate domain for authenticated
users. e.g if your domain is yourdomain.com then setup a second domain for
authenticated users that bypasses cloudflare e.g
edit.yourdomain.com
. In this setup block access to /user on your public domain via .htaccess rules. - By default CloudFlare will cache static resources but not HTML. You need to add a page rule to cache all the things.
In D8 cache clearing is a whole new world. D8 introduces the concept of cache tags. Cache tags represent groupings of content that should be purged when content is created, updated or deleted. Most of this already happens behind the scenes so you don't need to rely on extensive rules like in D6/D7. See here and here for more info on tags. This module has experimental support for Tags (it will still work with path based purging).
You will need to update your composer dependencies:
composer require d8-contrib-modules/cloudflarephpsdk "1.0.0-alpha5"
- You will also need to update to the most recent version of the Purge module.
To read more about different details, and gotchas read more here.
To run tests:
- composer install
- ./run-tests.sh
CloudFlare is a trademark of CloudFlare Inc. This module has not been built, maintained or supported by CloudFlare Inc. This is an open source project with no association with CloudFlare Inc. The module uses their API, that's all.