GuideReference
TrainingSupportCommunity

media_​origin_​failover

  • Property Manager name: Media Origin Failover
  • Behavior version: The v2023-09-20 rule format supports the media_​origin_​failover behavior v1.0.
  • Rule format status: GA, stable
  • Access: Read-write
  • Allowed in includes: Yes

Specifies how edge servers respond when the origin is unresponsive, or suffers from server or content errors. You can specify how many times to retry, switch to a backup origin hostname, or configure a redirect.

OptionTypeDescriptionRequires
detect_​origin_​unresponsiveboolean

Allows you to configure what happens when the origin is unresponsive.

{"displayType":"boolean","tag":"input","type":"checkbox"}
origin_​unresponsive_​detection_​levelenum

Specify the level of response to slow origin connections.

detect_​origin_​unresponsive is true
{"displayType":"enum","options":["AGGRESSIVE","CONSERVATIVE","MODERATE"],"tag":"select"}
{"if":{"attribute":"detectOriginUnresponsive","op":"eq","value":true}}
AGGRESSIVE

Aggressive response.

CONSERVATIVE

Conservative response.

MODERATE

Moderate response.

origin_​unresponsive_​blacklist_​origin_​ipboolean

Enabling this blacklists the origin's IP address.

detect_​origin_​unresponsive is true
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"detectOriginUnresponsive","op":"eq","value":true}}
origin_​unresponsive_​blacklist_​windowenum

This sets the delay before blacklisting an IP address.

origin_​unresponsive_​blacklist_​origin_​ip is true
{"displayType":"enum","options":["TEN_S","THIRTY_S"],"tag":"select"}
{"if":{"attribute":"originUnresponsiveBlacklistOriginIp","op":"eq","value":true}}
TEN_​S

10 seconds.

THIRTY_​S

30 seconds.

origin_​unresponsive_​recoveryenum

This sets the recovery option.

detect_​origin_​unresponsive is true
{"displayType":"enum","options":["RETRY_X_TIMES","SWITCH_TO_BACKUP_ORIGIN","REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"],"tag":"select"}
{"if":{"attribute":"detectOriginUnresponsive","op":"eq","value":true}}
RETRY_​X_TIMES

Retry.

SWITCH_​TO_​BACKUP_​ORIGIN

Switch to a backup origin.

REDIRECT_​TO_​DIFFERENT_​ORIGIN_​LOCATION

Redirect to a different origin.

origin_​unresponsive_​retry_​limitenum

Sets how many times to retry.

origin_​unresponsive_​recovery is RETRY_​X_TIMES
{"displayType":"enum","options":["ONE","TWO","THREE"],"tag":"select"}
{"if":{"attribute":"originUnresponsiveRecovery","op":"eq","value":"RETRY_X_TIMES"}}
Supported values:
ONE
THREE
TWO
origin_​unresponsive_​backup_​hoststring

This specifies the origin hostname.

origin_​unresponsive_​recovery is SWITCH_​TO_​BACKUP_​ORIGIN
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"originUnresponsiveRecovery","op":"eq","value":"SWITCH_TO_BACKUP_ORIGIN"}}
origin_​unresponsive_​alternate_​hoststring

This specifies the redirect's destination hostname.

origin_​unresponsive_​recovery is REDIRECT_​TO_​DIFFERENT_​ORIGIN_​LOCATION
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"originUnresponsiveRecovery","op":"eq","value":"REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"}}
origin_​unresponsive_​modify_​request_​pathboolean

Modifies the request path.

origin_​unresponsive_​recovery is SWITCH_​TO_​BACKUP_​ORIGIN
OR origin_​unresponsive_​recovery is REDIRECT_​TO_​DIFFERENT_​ORIGIN_​LOCATION
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"op":"or","params":[{"attribute":"originUnresponsiveRecovery","op":"eq","value":"SWITCH_TO_BACKUP_ORIGIN"},{"attribute":"originUnresponsiveRecovery","op":"eq","value":"REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"}]}}
origin_​unresponsive_​modified_​pathstring

This specifies the path to form the new URL.

origin_​unresponsive_​modify_​request_​path is true
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"originUnresponsiveModifyRequestPath","op":"eq","value":true}}
origin_​unresponsive_​include_​query_​stringboolean

Enabling this includes the original set of query parameters.

origin_​unresponsive_​modify_​request_​path is true
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"originUnresponsiveModifyRequestPath","op":"eq","value":true}}
origin_​unresponsive_​redirect_​methodenum

Specifies the redirect response code.

origin_​unresponsive_​recovery is REDIRECT_​TO_​DIFFERENT_​ORIGIN_​LOCATION
{"displayType":"enum","options":["301","302"],"tag":"select"}
{"if":{"attribute":"originUnresponsiveRecovery","op":"eq","value":"REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"}}
Supported values:
301
302
origin_​unresponsive_​change_​protocolboolean

This allows you to change the request protocol.

origin_​unresponsive_​recovery is SWITCH_​TO_​BACKUP_​ORIGIN
OR origin_​unresponsive_​recovery is REDIRECT_​TO_​DIFFERENT_​ORIGIN_​LOCATION
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"op":"or","params":[{"attribute":"originUnresponsiveRecovery","op":"eq","value":"SWITCH_TO_BACKUP_ORIGIN"},{"attribute":"originUnresponsiveRecovery","op":"eq","value":"REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"}]}}
origin_​unresponsive_​protocolenum

Specifies which protocol to use.

origin_​unresponsive_​change_​protocol is true
{"displayType":"enum","options":["HTTP","HTTPS"],"tag":"select"}
{"if":{"attribute":"originUnresponsiveChangeProtocol","op":"eq","value":true}}
Supported values:
HTTP
HTTPS
detect_​origin_​unavailableboolean

Allows you to configure failover settings when the origin server responds with errors.

{"displayType":"boolean","tag":"input","type":"checkbox"}
origin_​unavailable_​detection_​levelenum

Specify RESPONSE_​CODES, the only available option.

detect_​origin_​unavailable is true
{"displayType":"enum","options":["RESPONSE_CODES"],"tag":"select"}
{"if":{"attribute":"detectOriginUnavailable","op":"eq","value":true}}
RESPONSE_​CODES

This is the only value currently available.

origin_​unavailable_​response_​codesstring array

Specifies the set of response codes identifying when the origin responds with errors.

detect_​origin_​unavailable is true
{"displayType":"string array","tag":"input","todo":true}
{"if":{"attribute":"detectOriginUnavailable","op":"eq","value":true}}
origin_​unavailable_​blacklist_​origin_​ipboolean

Enabling this blacklists the origin's IP address.

detect_​origin_​unavailable is true
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"detectOriginUnavailable","op":"eq","value":true}}
origin_​unavailable_​blacklist_​windowenum

This sets the delay before blacklisting an IP address.

origin_​unavailable_​blacklist_​origin_​ip is true
{"displayType":"enum","options":["TEN_S","THIRTY_S"],"tag":"select"}
{"if":{"attribute":"originUnavailableBlacklistOriginIp","op":"eq","value":true}}
TEN_​S

10 seconds.

THIRTY_​S

30 seconds.

origin_​unavailable_​recoveryenum

This sets the recovery option.

detect_​origin_​unavailable is true
{"displayType":"enum","options":["RETRY_X_TIMES","SWITCH_TO_BACKUP_ORIGIN","REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"],"tag":"select"}
{"if":{"attribute":"detectOriginUnavailable","op":"eq","value":true}}
RETRY_​X_TIMES

Retry.

SWITCH_​TO_​BACKUP_​ORIGIN

Switch to a backup origin.

REDIRECT_​TO_​DIFFERENT_​ORIGIN_​LOCATION

Redirect to a different origin.

origin_​unavailable_​retry_​limitenum

Sets how many times to retry.

origin_​unavailable_​recovery is RETRY_​X_TIMES
{"displayType":"enum","options":["ONE","TWO","THREE"],"tag":"select"}
{"if":{"attribute":"originUnavailableRecovery","op":"eq","value":"RETRY_X_TIMES"}}
Supported values:
ONE
THREE
TWO
origin_​unavailable_​backup_​hoststring

This specifies the origin hostname.

origin_​unavailable_​recovery is SWITCH_​TO_​BACKUP_​ORIGIN
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"originUnavailableRecovery","op":"eq","value":"SWITCH_TO_BACKUP_ORIGIN"}}
origin_​unavailable_​alternate_​hoststring

This specifies the redirect's destination hostname.

origin_​unavailable_​recovery is REDIRECT_​TO_​DIFFERENT_​ORIGIN_​LOCATION
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"originUnavailableRecovery","op":"eq","value":"REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"}}
origin_​unavailable_​modify_​request_​pathboolean

Modifies the request path.

origin_​unavailable_​recovery is SWITCH_​TO_​BACKUP_​ORIGIN
OR origin_​unavailable_​recovery is REDIRECT_​TO_​DIFFERENT_​ORIGIN_​LOCATION
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"op":"or","params":[{"attribute":"originUnavailableRecovery","op":"eq","value":"SWITCH_TO_BACKUP_ORIGIN"},{"attribute":"originUnavailableRecovery","op":"eq","value":"REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"}]}}
origin_​unavailable_​modified_​pathstring

This specifies the path to form the new URL.

origin_​unavailable_​modify_​request_​path is true
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"originUnavailableModifyRequestPath","op":"eq","value":true}}
origin_​unavailable_​include_​query_​stringboolean

Enabling this includes the original set of query parameters.

origin_​unavailable_​modify_​request_​path is true
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"originUnavailableModifyRequestPath","op":"eq","value":true}}
origin_​unavailable_​redirect_​methodenum

Specifies either a redirect response code.

origin_​unavailable_​recovery is REDIRECT_​TO_​DIFFERENT_​ORIGIN_​LOCATION
{"displayType":"enum","options":["301","302"],"tag":"select"}
{"if":{"attribute":"originUnavailableRecovery","op":"eq","value":"REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"}}
Supported values:
301
302
origin_​unavailable_​change_​protocolboolean

Modifies the request protocol.

origin_​unavailable_​recovery is SWITCH_​TO_​BACKUP_​ORIGIN
OR origin_​unavailable_​recovery is REDIRECT_​TO_​DIFFERENT_​ORIGIN_​LOCATION
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"op":"or","params":[{"attribute":"originUnavailableRecovery","op":"eq","value":"SWITCH_TO_BACKUP_ORIGIN"},{"attribute":"originUnavailableRecovery","op":"eq","value":"REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"}]}}
origin_​unavailable_​protocolenum

Specifies either the HTTP or HTTPS protocol.

origin_​unavailable_​change_​protocol is true
{"displayType":"enum","options":["HTTP","HTTPS"],"tag":"select"}
{"if":{"attribute":"originUnavailableChangeProtocol","op":"eq","value":true}}
Supported values:
HTTP
HTTPS
detect_​object_​unavailableboolean

Allows you to configure failover settings when the origin has content errors.

{"displayType":"boolean","tag":"input","type":"checkbox"}
object_​unavailable_​detection_​levelenum

Specify RESPONSE_​CODES, the only available option.

detect_​object_​unavailable is true
{"displayType":"enum","options":["RESPONSE_CODES"],"tag":"select"}
{"if":{"attribute":"detectObjectUnavailable","op":"eq","value":true}}
RESPONSE_​CODES

This is the only value currently available.

object_​unavailable_​response_​codesstring array

Specifies the set of response codes identifying when there are content errors.

detect_​object_​unavailable is true
{"displayType":"string array","tag":"input","todo":true}
{"if":{"attribute":"detectObjectUnavailable","op":"eq","value":true}}
object_​unavailable_​blacklist_​origin_​ipboolean

Enabling this blacklists the origin's IP address.

detect_​object_​unavailable is true
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"detectObjectUnavailable","op":"eq","value":true}}
object_​unavailable_​blacklist_​windowenum

This sets the delay before blacklisting an IP address.

object_​unavailable_​blacklist_​origin_​ip is true
{"displayType":"enum","options":["TEN_S","THIRTY_S"],"tag":"select"}
{"if":{"attribute":"objectUnavailableBlacklistOriginIp","op":"eq","value":true}}
TEN_​S

10 seconds.

THIRTY_​S

30 seconds.

object_​unavailable_​recoveryenum

This sets the recovery option.

detect_​object_​unavailable is true
{"displayType":"enum","options":["RETRY_X_TIMES","SWITCH_TO_BACKUP_ORIGIN","REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"],"tag":"select"}
{"if":{"attribute":"detectObjectUnavailable","op":"eq","value":true}}
RETRY_​X_TIMES

Retry.

SWITCH_​TO_​BACKUP_​ORIGIN

Switch to a backup origin.

REDIRECT_​TO_​DIFFERENT_​ORIGIN_​LOCATION

Redirect to a different origin.

object_​unavailable_​retry_​limitenum

Sets how many times to retry.

object_​unavailable_​recovery is RETRY_​X_TIMES
{"displayType":"enum","options":["ONE","TWO","THREE"],"tag":"select"}
{"if":{"attribute":"objectUnavailableRecovery","op":"eq","value":"RETRY_X_TIMES"}}
Supported values:
ONE
THREE
TWO
object_​unavailable_​backup_​hoststring

This specifies the origin hostname.

object_​unavailable_​recovery is SWITCH_​TO_​BACKUP_​ORIGIN
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"objectUnavailableRecovery","op":"eq","value":"SWITCH_TO_BACKUP_ORIGIN"}}
object_​unavailable_​alternate_​hoststring

This specifies the redirect's destination hostname.

object_​unavailable_​recovery is REDIRECT_​TO_​DIFFERENT_​ORIGIN_​LOCATION
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"objectUnavailableRecovery","op":"eq","value":"REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"}}
object_​unavailable_​modify_​request_​pathboolean

Enabling this allows you to modify the request path.

object_​unavailable_​recovery is SWITCH_​TO_​BACKUP_​ORIGIN
OR object_​unavailable_​recovery is REDIRECT_​TO_​DIFFERENT_​ORIGIN_​LOCATION
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"op":"or","params":[{"attribute":"objectUnavailableRecovery","op":"eq","value":"SWITCH_TO_BACKUP_ORIGIN"},{"attribute":"objectUnavailableRecovery","op":"eq","value":"REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"}]}}
object_​unavailable_​modified_​pathstring

This specifies the path to form the new URL.

object_​unavailable_​modify_​request_​path is true
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"objectUnavailableModifyRequestPath","op":"eq","value":true}}
object_​unavailable_​include_​query_​stringboolean

Enabling this includes the original set of query parameters.

object_​unavailable_​modify_​request_​path is true
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"objectUnavailableModifyRequestPath","op":"eq","value":true}}
object_​unavailable_​redirect_​methodenum

Specifies a redirect response code.

object_​unavailable_​recovery is REDIRECT_​TO_​DIFFERENT_​ORIGIN_​LOCATION
{"displayType":"enum","options":["301","302"],"tag":"select"}
{"if":{"attribute":"objectUnavailableRecovery","op":"eq","value":"REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"}}
Supported values:
301
302
object_​unavailable_​change_​protocolboolean

Changes the request protocol.

object_​unavailable_​recovery is SWITCH_​TO_​BACKUP_​ORIGIN
OR object_​unavailable_​recovery is REDIRECT_​TO_​DIFFERENT_​ORIGIN_​LOCATION
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"op":"or","params":[{"attribute":"objectUnavailableRecovery","op":"eq","value":"SWITCH_TO_BACKUP_ORIGIN"},{"attribute":"objectUnavailableRecovery","op":"eq","value":"REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"}]}}
object_​unavailable_​protocolenum

Specifies either the HTTP or HTTPS protocol.

object_​unavailable_​change_​protocol is true
{"displayType":"enum","options":["HTTP","HTTPS"],"tag":"select"}
{"if":{"attribute":"objectUnavailableChangeProtocol","op":"eq","value":true}}
Supported values:
HTTP
HTTPS
client_​response_​codestring

Specifies the response code served to the client.

{"displayType":"string","tag":"input","type":"text"}
cache_​error_​responseboolean

When enabled, caches the error response.

{"displayType":"boolean","tag":"input","type":"checkbox"}
cache_​windowenum

This sets error response's TTL.

cache_​error_​response is true
{"displayType":"enum","options":["ONE_S","TEN_S","THIRTY_S"],"tag":"select"}
{"if":{"attribute":"cacheErrorResponse","op":"eq","value":true}}
ONE_​S

1 second.

TEN_​S

10 seconds.

THIRTY_​S

30 seconds.