GuideReference
TrainingSupportCommunity
Reference

origin

  • Property Manager name: Origin Server
  • Behavior version: The v2023-01-05 rule format supports the origin behavior v1.21.
  • Rule format status: GA, stable
  • Access: Read/Write
  • Allowed in includes: Yes

Specify the hostname and settings used to contact the origin once service begins. You can use your own origin, Net​Storage, an Edge Load Balancing origin, or a Saa​S dynamic origin.

OptionTypeDescriptionRequires
origin_​typeenum

Choose where your content is retrieved from.

{"displayType":"enum","options":["CUSTOMER","NET_STORAGE","MEDIA_SERVICE_LIVE","EDGE_LOAD_BALANCING_ORIGIN_GROUP","SAAS_DYNAMIC_ORIGIN"],"tag":"select"}
CUSTOMER

From your own server.

NET_​STORAGE

From your Net​Storage account. This option is most appropriate for static content.

MEDIA_​SERVICE_​LIVE

From a Media Services Live origin.

EDGE_​LOAD_​BALANCING_​ORIGIN_​GROUP

From any available Edge Load Balancing origin.

SAAS_​DYNAMIC_​ORIGIN

From a Saa​S dynamic origin if Saa​S acceleration is available on your contract.

net_​storageobject

Specifies the details of the Net​Storage server.

origin_​type is NET_​STORAGE
{"displayType":"object","tag":"input","todo":true}
{"if":{"attribute":"originType","op":"eq","value":"NET_STORAGE"}}
net_​storage.cp​Code​Listarray

A set of CP codes that apply to this storage group.

net_​storage.download​Domain​Namestring

Domain name from which content can be downloaded.

net_​storage.idnumber

Unique identifier for the storage group.

net_​storage.namestring

Name of the storage group.

net_​storage.upload​Domain​Namestring

Domain name used to upload content.

origin_​idstring

Identifies the Edge Load Balancing origin. This needs to correspond to an edge​_load​_balancing​_origin behavior's id attribute within the same property.

origin_​type is EDGE_​LOAD_​BALANCING_​ORIGIN_​GROUP
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"originType","op":"eq","value":"EDGE_LOAD_BALANCING_ORIGIN_GROUP"}}
hostnamestring (allows variables)

Specifies the hostname or IPv4 address of your origin server, from which edge servers can retrieve your content.

origin_​type is CUSTOMER
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"originType","op":"eq","value":"CUSTOMER"}}
second_​hostname_​enabledboolean

Available only for certain products. This specifies whether you want to use an additional origin server address.

{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"op":"and","params":[{"attribute":"hostname","op":"type","value":["ipv4_address","ipv6_address"]},{"attribute":"productName","op":"in","scope":"global","value":["API_Accel"]}]}}
second_​hostnamestring (allows variables)

Specifies the origin server's hostname, IPv4 address, or IPv6 address. Edge servers retrieve your content from this origin server.

second_​hostname_​enabled is true
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"secondHostnameEnabled","op":"eq","value":true}}
msloriginstring

This specifies the media's origin server.

origin_​type is MEDIA_​SERVICE_​LIVE
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"originType","op":"eq","value":"MEDIA_SERVICE_LIVE"}}
saas_​typeenum

Specifies the part of the request that identifies this Saa​S dynamic origin.

origin_​type is SAAS_​DYNAMIC_​ORIGIN
{"displayType":"enum","options":["HOSTNAME","PATH","QUERY_STRING","COOKIE"],"tag":"select"}
{"if":{"attribute":"originType","op":"eq","value":"SAAS_DYNAMIC_ORIGIN"}}
Supported values:
COOKIE
HOSTNAME
PATH
QUERY_STRING
saas_​cname_​enabledboolean

Enabling this allows you to use a CNAME chain to determine the hostname for this Saa​S dynamic origin.

saas_​type is HOSTNAME
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"saasType","op":"eq","value":"HOSTNAME"}}
saas_​cname_​levelnumber

Specifies the desired number of hostnames to use in the CNAME chain, starting backwards from the edge server.

saas_​cname_​enabled is true
{"displayType":"number","tag":"input","type":"number"}
{"if":{"attribute":"saasCnameEnabled","op":"eq","value":true}}
saas_​query_​stringstring

Specifies the name of the query parameter that identifies this Saa​S dynamic origin.

saas_​type is QUERY_​STRING
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"saasType","op":"eq","value":"QUERY_STRING"}}
saas_​regexstring

Specifies the Perl-compatible regular expression match that identifies this Saa​S dynamic origin.

origin_​type is SAAS_​DYNAMIC_​ORIGIN
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"originType","op":"eq","value":"SAAS_DYNAMIC_ORIGIN"}}
saas_​replacestring

Specifies replacement text for what saas_​regex matches.

origin_​type is SAAS_​DYNAMIC_​ORIGIN
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"originType","op":"eq","value":"SAAS_DYNAMIC_ORIGIN"}}
saas_​suffixstring

Specifies the static part of the Saa​S dynamic origin.

origin_​type is SAAS_​DYNAMIC_​ORIGIN
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"originType","op":"eq","value":"SAAS_DYNAMIC_ORIGIN"}}
forward_​host_​headerenum

When the origin_​type is set to either CUSTOMER or SAAS_​DYNAMIC_​ORIGIN, this specifies which Host header to pass to the origin.

origin_​type is either: CUSTOMER, SAAS_​DYNAMIC_​ORIGIN
{"displayType":"enum","options":["REQUEST_HOST_HEADER","ORIGIN_HOSTNAME","CUSTOM"],"tag":"select"}
{"if":{"attribute":"originType","op":"in","value":["CUSTOMER","SAAS_DYNAMIC_ORIGIN"]}}
REQUEST_​HOST_​HEADER

Passes the original request's header.

ORIGIN_​HOSTNAME

Passes the current origin's HOSTNAME.

CUSTOM

Passes the value of custom_​forward_​host_​header. Use this option if you want requests handled by different properties to converge on the same cached object.

custom_​forward_​host_​headerstring (allows variables)

This specifies the name of the custom host header the edge server should pass to the origin.

forward_​host_​header is CUSTOM
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"forwardHostHeader","op":"eq","value":"CUSTOM"}}
cache_​key_​hostnameenum

Specifies the hostname to use when forming a cache key.

origin_​type is either: CUSTOMER, SAAS_​DYNAMIC_​ORIGIN
{"displayType":"enum","options":["REQUEST_HOST_HEADER","ORIGIN_HOSTNAME"],"tag":"select"}
{"if":{"attribute":"originType","op":"in","value":["CUSTOMER","SAAS_DYNAMIC_ORIGIN"]}}
REQUEST_​HOST_​HEADER

Specify when using a virtual server.

ORIGIN_​HOSTNAME

Specify if your origin server's responses do not depend on the hostname.

ip_​versionenum

Specifies which IP version to use when getting content from the origin.

origin_​type is either: CUSTOMER, EDGE_​LOAD_​BALANCING_​ORIGIN_​GROUP
{"displayType":"enum","options":["IPV4","DUALSTACK","IPV6"],"tag":"select"}
{"if":{"op":"and","params":[{"attribute":"originType","op":"in","value":["CUSTOMER","EDGE_LOAD_BALANCING_ORIGIN_GROUP"]},{"op":"or","params":[{"op":"and","params":[{"attribute":"productName","op":"in","scope":"global","value":["Adaptive_Media_Delivery","Download_Delivery","Obj_Delivery","Fresca","SPM","Site_Accel"]},{"attribute":"modulesOnContract","op":"contains","scope":"global","value":"OriginIPACL_Trial"}]},{"attribute":"productName","op":"in","scope":"global","value":["API_Accel"]}]}]}}
IPV4

Use IPv4.

DUALSTACK

Use both versions.

IPV6

Use IPv6.

use_​unique_​cache_​keyboolean

With a shared hostname such as provided by Amazon AWS, sets a unique cache key for your content.

{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"op":"and","params":[{"attribute":"hostname","op":"in","value":["s3.amazonaws.com","s3-eu-west-1.amazonaws.com","s3-ap-southeast-1.amazonaws.com","s3-ap-northeast-1.amazonaws.com","s3-us-west-2.amazonaws.com","s3-us-west-1.amazonaws.com","s3-ap-southeast-2.amazonaws.com","s3.eu-central-1.amazonaws.com","s3-eu-central-1.amazonaws.com","s3.ap-south-1.amazonaws.com","s3.eu-west-2.amazonaws.com","s3.cn-north-1.amazonaws.com.cn","s3-website-us-east-1.amazonaws.com","s3.ap-northeast-2.amazonaws.com"]},{"attribute":"cacheKeyHostname","op":"eq","value":"ORIGIN_HOSTNAME"}]}}
compressboolean

Enables gzip compression for non-Net​Storage origins.

origin_​type is either: CUSTOMER, EDGE_​LOAD_​BALANCING_​ORIGIN_​GROUP, SAAS_​DYNAMIC_​ORIGIN
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"originType","op":"in","value":["CUSTOMER","EDGE_LOAD_BALANCING_ORIGIN_GROUP","SAAS_DYNAMIC_ORIGIN"]}}
enable_​true_​client_​ipboolean

When enabled on non-Net​Storage origins, allows you to send a custom header (the true_​client_​ip_​header) identifying the IP address of the immediate client connecting to the edge server. This may provide more useful information than the standard X-Forward-For header, which proxies may modify.

origin_​type is either: CUSTOMER, EDGE_​LOAD_​BALANCING_​ORIGIN_​GROUP, SAAS_​DYNAMIC_​ORIGIN
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"originType","op":"in","value":["CUSTOMER","EDGE_LOAD_BALANCING_ORIGIN_GROUP","SAAS_DYNAMIC_ORIGIN"]}}
true_​client_​ip_​headerstring

This specifies the name of the field that identifies the end client's IP address, for example True-Client-IP.

enable_​true_​client_​ip is true
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"enableTrueClientIp","op":"eq","value":true}}
true_​client_​ip_​client_​settingboolean

If a client sets the True-Client-IP header, the edge server allows it and passes the value to the origin. Otherwise the edge server removes it and sets the value itself.

enable_​true_​client_​ip is true
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"enableTrueClientIp","op":"eq","value":true}}
verification_​modeenum

For non-Net​Storage origins, maximize security by controlling which certificates edge servers should trust.

origin_​type is either: CUSTOMER, EDGE_​LOAD_​BALANCING_​ORIGIN_​GROUP, SAAS_​DYNAMIC_​ORIGIN
{"displayType":"enum","options":["PLATFORM_SETTINGS","CUSTOM","THIRD_PARTY"],"tag":"select"}
{"if":{"attribute":"originType","op":"in","value":["CUSTOMER","EDGE_LOAD_BALANCING_ORIGIN_GROUP","SAAS_DYNAMIC_ORIGIN"]}}
PLATFORM_​SETTINGS

Trust platform settings.

CUSTOM

Only applies if the property is marked as secure. See Secure property requirements for guidance. Under some products, you may also need to enable the Secure Delivery - Customer Cert module. Contact your Akamai representative for details.

THIRD_​PARTY

When your origin server references certain types of third-party hostname.

origin_​sniboolean

For non-Net​Storage origins, enabling this adds a Server Name Indication (SNI) header in the SSL request sent to the origin, with the origin hostname as the value. Contact your Akamai representative for more information.

origin_​type is either: CUSTOMER, EDGE_​LOAD_​BALANCING_​ORIGIN_​GROUP, SAAS_​DYNAMIC_​ORIGIN
AND verification_​mode is either: PLATFORM_​SETTINGS, CUSTOM, THIRD_​PARTY
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"op":"and","params":[{"attribute":"originType","op":"in","value":["CUSTOMER","EDGE_LOAD_BALANCING_ORIGIN_GROUP","SAAS_DYNAMIC_ORIGIN"]},{"attribute":"verificationMode","op":"in","value":["PLATFORM_SETTINGS","CUSTOM","THIRD_PARTY"]}]}}
custom_​valid_​cn_​valuesstring array

Specifies values to look for in the origin certificate's Subject Alternate Name or Common Name fields. Specify {{Origin Hostname}} and {{Forward Host Header}} within the text in the order you want them to be evaluated. (Note that these two template items are not the same as in-line variables, which use the same curly-brace syntax.)

verification_​mode is CUSTOM
{"displayType":"string array","tag":"input","todo":true}
{"if":{"attribute":"verificationMode","op":"eq","value":"CUSTOM"}}
origin_​certs_​to_​honorenum

Specifies which certificate to trust.

verification_​mode is CUSTOM
{"displayType":"enum","options":["COMBO","STANDARD_CERTIFICATE_AUTHORITIES","CUSTOM_CERTIFICATE_AUTHORITIES","CUSTOM_CERTIFICATES"],"tag":"select"}
{"if":{"attribute":"verificationMode","op":"eq","value":"CUSTOM"}}
COMBO

May rely on all three other inputs.

STANDARD_​CERTIFICATE_​AUTHORITIES

Any certificate signed by an Akamai-managed authority set.

CUSTOM_​CERTIFICATE_​AUTHORITIES

Any certificate signed by a custom authority set you manage.

CUSTOM_​CERTIFICATES

Pinned origin server certificates.

custom_​certificate_​authoritiesobject array

Specifies an array of certification objects. Contact your Akamai representative for details on this object's requirements.

origin_​certs_​to_​honor is either: CUSTOM_​CERTIFICATE_​AUTHORITIES, COMBO
{"displayType":"object array","tag":"input","todo":true}
{"if":{"attribute":"originCertsToHonor","op":"in","value":["CUSTOM_CERTIFICATE_AUTHORITIES","COMBO"]}}
custom_​certificatesobject array

Specifies an array of certification objects. Contact your Akamai representative for details on this object's requirements.

origin_​certs_​to_​honor is either: CUSTOM_​CERTIFICATES, COMBO
{"displayType":"object array","tag":"input","todo":true}
{"if":{"attribute":"originCertsToHonor","op":"in","value":["CUSTOM_CERTIFICATES","COMBO"]}}
http_​portnumber

Specifies the port on your origin server to which edge servers should connect for HTTP requests, customarily 80.

origin_​type is either: CUSTOMER, SAAS_​DYNAMIC_​ORIGIN
{"displayType":"number","tag":"input","type":"number"}
{"if":{"attribute":"originType","op":"in","value":["CUSTOMER","SAAS_DYNAMIC_ORIGIN"]}}
https_​portnumber

Specifies the port on your origin server to which edge servers should connect for secure HTTPS requests, customarily 443. This option only applies if the property is marked as secure. See Secure property requirements for guidance.

origin_​type is either: CUSTOMER, SAAS_​DYNAMIC_​ORIGIN
{"displayType":"number","tag":"input","type":"number"}
{"if":{"attribute":"originType","op":"in","value":["CUSTOMER","SAAS_DYNAMIC_ORIGIN"]}}