Custom Domain with Images
Set up custom domain for Images using a Worker or serve images using a prefix path and Cloudflare registered domain.
To serve images from a custom domain:
- Log in to the Cloudflare dashboard.
- Select you account > select Workers.
- Select Create a service.
- In your Workers, select Quick edit and paste the following code.
export default { async fetch(request) { // You can find this in the dashboard, it should look something like this: ZWd9g1K7eljCn_KDTu_MWA const accountHash = "";
const { pathname } = new URL(request.url);
// A request to something like cdn.example.com/83eb7b2-5392-4565-b69e-aff66acddd00/public // will fetch "https://imagedelivery.net/<accountHash>/83eb7b2-5392-4565-b69e-aff66acddd00/public"
return fetch(`https://imagedelivery.net/${accountHash}${pathname}`); },
};
const handler: ExportedHandler = { async fetch(request: Request) { // You can find this in the dashboard, it should look something like this: ZWd9g1K7eljCn_KDTu_MWA const accountHash = "";
const { pathname } = new URL(request.url);
// A request to something like cdn.example.com/83eb7b2-5392-4565-b69e-aff66acddd00/public // will fetch "https://imagedelivery.net/<accountHash>/83eb7b2-5392-4565-b69e-aff66acddd00/public"
return fetch(`https://imagedelivery.net/${accountHash}${pathname}`); },
};
export default handler;
Another way you can serve images from a custom domain is by using the cdn-cgi/imagedelivery
prefix path which is used as path to trigger cdn-cgi
image proxy.
Below is an example showing the hostname as a Cloudflare proxied domain under the same account as the Image, followed with the prefix path and the image <ACCOUNT_HASH>
, <IMAGE_ID>
and <VARIANT_NAME>
which can be found in the Images on the Cloudflare dashboard.
https://example.com/cdn-cgi/imagedelivery/<ACCOUNT_HASH>/<IMAGE_ID>/<VARIANT_NAME>