This article is a guide on how to leverage Cloudflare's Content Delivery Network (CDN) services alongside C2 Object Storage. By integrating these two solutions, you can enable direct access from Cloudflare CDN to C2 Object Storage.
Make sure Node.js and npm are installed.
Use npm install
to install the required packages such as wrangler
-
Move the '/sample_config/wrangler.toml' file to the project root directory.
-
Fill in the required configuration details in the 'wrangler.toml' file.
-
Upload the secret key to Cloudflare Workers.
$ echo "{SECRET_KEY}" | wrangler secret put SECRET_KEY
- For local development
$ npm run dev
- Deploy to Cloudflare
$ npm run deploy
If everything is cool, you can use folloing command to download your file from cdn.
- Download a file from c2 object storages:
$ curl {cdn_url}/{bucket_name}/{object}
You can configure your cache settings via 'wrangler.toml' or use the default configuration.
If you encounter cors issues, you can set access_control_allow_origin
from 'wrangler.toml'
To prevent authentication failures, a set of headers has been filtered for AWS signatures, including x-real-ip
, x-forwarded-proto
, and accept-encoding
, and any headers beginning with cf-
. This is because Cloudflare will overwrite these values in downstream requests.