Proxy

When you need to get all the benefits of a powerful CDN without explicitly uploading files to a new location, use Proxy. It automatically retrieves files from existing remote locations and delivers them using Uploadcare CDN.

Utilizing a CDN can significantly improve your users' browsing experience, and open up more technical opportunities by providing on-the-fly image transformation and optimization.

It's easy to integrate, requiring only one URL modification:

https://endpoint.ucr.io/ + https://yoursite.com/assets/image.jpg =
https://endpoint.ucr.io/https://yoursite.com/assets/image.jpg

When the first request is made, the source file is instantly uploaded to your Uploadcare storage. Once it is cached on our CDN, all subsequent requests will fetch the file from the closest CDN node.

This is the simplest way to implement responsive images, lower traffic costs, or just try us out without investing too much time into migration.

Usage

Step 1. Setup your Proxy

Go to Uploadcare Dashboard:

  1. Specify the allowed domain names that host your files. The Proxy will recognize these domains and block delivery from others.
  2. Optionally, you can edit you Proxy Endpoint to use custom domain name to serve files. See down below.

Step 2. Add Proxy prefix

Combine the Proxy prefix with the file URL, including any query string, provided the file URL is from an allowed domain. The Proxy prefix should include your Endpoint.

https://endpoint.ucr.io/ + https://yoursite.com/assets/image.jpg =
https://endpoint.ucr.io/https://yoursite.com/assets/image.jpg

The original file will remain at its original place, so that older references will work as well.

Step 3. Apply image operations

You can apply image processing operations by adding one of the respective URL directives between the prefix and the media URL.

https://endpoint.ucr.io/-/preview/-/resize/500x/https://yoursite.com/assets/image.jpg

As a result, image.jpg will be processed and delivered with Uploadcare CDN.

Note: Uploadcare process images on the fly. We count storage space only for original files. Processed versions don't occupy any space in your storage limit.

Endpoint customization (optional)

By default, Uploadcare creates a proxy endpoint for every project automatically: YOUR_PUBLIC_KEY.ucr.io (e.g., 88a247b663ba80c3bf6f.ucr.io).

You can customize endpoint URL:

  • CNAME or subdomain endpoint will look like: mydomain.ucr.io
  • A record or domain endpoint will look like: cdn.mydomain.com

When fetching the source file from a remote server, the Proxy will make a HEAD (OPTIONS) request before the actual GET to check the source file's availability. The remote server must properly handle HEAD requests.

Possible errors

List of errors you might get when using Proxy:

ErrorDescription
[HTTP 400] Domain <yoursite.com> is not registeredYou did not register a Proxy domain for your sites by dropping us a line at help@uploadcare.com.
[HTTP 400] Domain <yoursite.com> is not allowedYou tried fetching a file from a domain that was not allowed. Check settings or contact us to add the domain as allowed for your account.
[HTTP 400] Failed to parse file URLYour prefix was added to an invalid URL. Consider checking that URL.
[HTTP 404]You tried fetching an unreachable file. Consider checking its URL.
[HTTP 502] 'is_ready' timeoutA problem occurred when trying to upload a file to our storage. Try again later and if it didn't help you always can contact us.
Other errorsProxy uses the from_url method, so you can also get general errors related to the Upload API or specific to the from_url method.

Proxy billing

This feature is free and available across all plans. It is important to note that proxy uses your project upload units and storage limits since files are fetched and saved first before they are available on Uploadcare's CDN.