This article will explain the core concepts of an Engine, including creating a new engine, with and without a custom delivery address and the available settings for engines.
Engine: an Engine is a relationship among the Delivery Address, ImageEngine Address, and the Origin to handle requests and deliver optimized images.
Delivery Address: A Delivery Address is a URL that can be used to access Images for use through ImageEngine.
The Delivery address is used in an image URL, either replacing the original domain name or by prefixing the entire original URL. For more on usage, please see the Implementation overview article!
Standard and Pro account users can customize the Delivery Address to to be a subdomain of a domain that you own.
For instance, if your website is "mycoolwebsite.com", you might create a delivery address such as "images.mycoolwebsite.com"
If you do not customize the Delivery Address, then the Delivery Address is identical to the ImageEngine Address.
ImageEngine Address: The ImageEngine Address handles your account’s images on the imgeng.in domain, and ends with our .Imgeng.in domain
When setting up a custom address, the ImageEngine Address is used when setting entering a DNS CNAME record that will pass requests from the custom Delivery Address (CNAME) to the ImageEngine Address.
Origin: Each Engine has an origin, where the images are hosted or stored. The images can be on a web server accessible via HTTP or HTTPS, or cloud-based storage.
ImageEngine does not require you to move or upload images anywhere.
For more on engines please see this article: Image Origins
Graphically, this is what the environment looks like, assuming a customized delivery address:
Create a New Engine
To create a new Engine, go to the Engines list and click on the “Create A New Engine” button.
The Create a new engine screen will appear:
Define an Origin
Upon creating a new engine, the first thing that must be done is to select an Origin.
If there are no Origins present, one must be created before the Engine may be created. In the case of multiple pre-existing origins, they may be selected from the drop-down list.
You may always adjust the origin associated with the Engine later if needed!
For more discussion of origins, their creation, and settings please see this article: Image Origins
Choose whether to automatically generate a delivery address (Standard and Pro only)
If your account is a Basic Level trial or subscription, this option does not appear.
Standard and Pro level subscriptions have access to creating Engines with Custom Delivery Addresses.
If a particular Delivery Address is not required, leave the option to generate the address automatically set as-is. This will create an address in the following pattern that is immediately ready for use:
While using an ImageEngine-Generated address for serving images, HTTPS is immediately available, and no additional steps are required to use the Delivery address as HTTPS.
NOTE:If you do not use the option to automatically create the address, additional steps will be required to use HTTPS. This will involve making changes to the website’s Domain Name Server (DNS), and must be done by someone with administrative access to that system.
Once you have entered the required information, click Submit at the bottom of the form.
These are the only two steps required to create a basic engine.
For the remaining steps to set up a custom delivery address, please see below.
Activating a Custom Delivery address.
When an Engine with a custom Delivery Address is newly created, the engine overview will state that the Engine is not ready to serve traffic!
To resolve this message, you will need to
- Add a DNS record for the TLS/SSL Certificate
- Add a CNAME record for the Delivery address back to its ImageEngine address
Sound confusing? No worries. We have helpfully provided the specific record names and values that you will need to add to the DNS in the engine’s overview!
You can find the steps for completing the custom delivery address set up in the Delivery Address article
Editing an existing Engine
From either the “Engines for [company name]” table
or, from a specific engine’s overview page, you can access the Engine’s Edit menu.
Here you may change several options for the engine:
- Modifying Origin Connection to the Delivery Address
- Allowing Origin Prefixing
- CORS Management
- Prioritizing Regions
- Engine Deletion
Modifying Origin Connection to the Delivery Address
An Engine must be connected to an Origin server to allow its delivery address to serve images. If an Engine was created during account sign-up, the Origin provided during the initial setup of the ImageEngine account will be what is selected, and referred is to as “Default.”
Allow Origin Prefixing
“Origin Prefixing” is a feature that allows an engine’s Delivery Address to prefix any other image URL on the internet. For example, if the Delivery Address registered is `img.foo.com` you can put this in front of any other URL resolving to an image: //img.foo.com/https://www.website.com/image.png. This may be a convenient feature for testing, or in cases where it is impractical to modify only the domain of an image’s URL.
if you wish to restrict access to this feature, provide a list of Origin hostnames that can be allowed for prefixing. If the prefixed image URL is not from one of the provided Origins, ImageEngine will throw an error, adding security to the prefixing feature by preventing illegitimate usage.
Permitting Origin prefixing is enabled by default, but our advice is that the feature should be disabled if its usage is something that is unlikely to be encountered.
For more information on prefixing as an implementation strategy, please see the Implementation Overview article.
Cross-Origin Resource Sharing (CORS (external link)) is a security feature based on HTTP-headers which is meant to indicate which Origins should be allowed to assess resources on a server. By default, this feature is enabled.
In this section, the allowed Origins, methods, and headers are specified. Multiple Origins can be entered. ImageEngine will respond with only one Origin if there is a match between the actual Origin and the list of allowed Origins. The Origin should usually be * or the domain name of your website, for example, https://foo.com.
The “Suggest Values” button sets liberal values that will most likely work for your site but will also allow other Origins access. The default selection is only "GET"
Any headers defined here will overwrite the same headers returned from the Origin server.
- “Origins allowed to access resources on this Engine”, will populate the Access-Control-Allow-Origin response header. Read More (external link)
- “HTTP methods allowed” will populate the Access-Control-Allow-Methods response header. This Defaults to “GET” Read More (external link)
- “Allowed HTTP request headers” will populate the Access-Control-Allow-Headers.
Multiple values must be comma-separated. For example, x-requested-with, content-type. Read More (external link)
- “Life time of a “preflight” request” populates the Access-Control-Max-Age response header. Read More (external link)
Other CORS-related headers such as
Access-Control-Expose-Headers may be added using a custom HTTP response header.
These two fields offer our engineering team insight into what geographic regions will be served with this engine. We will use this information to better understand how it will be used, and to adjust elements of our CDN to improve performance.
At the bottom of the screen, you will find the option to delete the engine.
WARNING: There is no method to recover a deleted engine. Please be certain that there is no traffic being served using the engine before deletion. If the Engine is deleted, while there are still Images using it, the links will break and serve 404s.
The Music is reversible, but time is not. Turn back.