- Property Manager name: Media Origin Failover
- Behavior version: The
v2024-10-21
rule format supports themediaOriginFailover
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.
Option | Type | Description | Requires | |
---|---|---|---|---|
detectOriginUnresponsive | boolean | Allows you to configure what happens when the origin is unresponsive. | {"displayType":"boolean","tag":"input","type":"checkbox"} | |
originUnresponsiveDetectionLevel | enum | Specify the level of response to slow origin connections. | detectOriginUnresponsive 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. | |||
originUnresponsiveBlacklistOriginIp | boolean | Enabling this blacklists the origin's IP address. | detectOriginUnresponsive is true | {"displayType":"boolean","tag":"input","type":"checkbox"} {"if":{"attribute":"detectOriginUnresponsive","op":"eq","value":true}} |
originUnresponsiveBlacklistWindow | enum | This sets the delay before blacklisting an IP address. | originUnresponsiveBlacklistOriginIp 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. | |||
originUnresponsiveRecovery | enum | This sets the recovery option. | detectOriginUnresponsive 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. | |||
originUnresponsiveRetryLimit | enum | Sets how many times to retry. | originUnresponsiveRecovery 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 | ||||
originUnresponsiveBackupHost | string | This specifies the origin hostname. | originUnresponsiveRecovery is SWITCH_TO_BACKUP_ORIGIN | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"originUnresponsiveRecovery","op":"eq","value":"SWITCH_TO_BACKUP_ORIGIN"}} |
originUnresponsiveAlternateHost | string | This specifies the redirect's destination hostname. | originUnresponsiveRecovery is REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"originUnresponsiveRecovery","op":"eq","value":"REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"}} |
originUnresponsiveModifyRequestPath | boolean | Modifies the request path. | originUnresponsiveRecovery is SWITCH_TO_BACKUP_ORIGIN OR originUnresponsiveRecovery 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"}]}} |
originUnresponsiveModifiedPath | string | This specifies the path to form the new URL. | originUnresponsiveModifyRequestPath is true | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"originUnresponsiveModifyRequestPath","op":"eq","value":true}} |
originUnresponsiveIncludeQueryString | boolean | Enabling this includes the original set of query parameters. | originUnresponsiveModifyRequestPath is true | {"displayType":"boolean","tag":"input","type":"checkbox"} {"if":{"attribute":"originUnresponsiveModifyRequestPath","op":"eq","value":true}} |
originUnresponsiveRedirectMethod | enum | Specifies the redirect response code. | originUnresponsiveRecovery 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 | ||||
originUnresponsiveChangeProtocol | boolean | This allows you to change the request protocol. | originUnresponsiveRecovery is SWITCH_TO_BACKUP_ORIGIN OR originUnresponsiveRecovery 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"}]}} |
originUnresponsiveProtocol | enum | Specifies which protocol to use. | originUnresponsiveChangeProtocol is true | {"displayType":"enum","options":["HTTP","HTTPS"],"tag":"select"} {"if":{"attribute":"originUnresponsiveChangeProtocol","op":"eq","value":true}} |
Supported values: HTTP HTTPS | ||||
detectOriginUnavailable | boolean | Allows you to configure failover settings when the origin server responds with errors. | {"displayType":"boolean","tag":"input","type":"checkbox"} | |
originUnavailableDetectionLevel | enum | Specify | detectOriginUnavailable 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. | |||
originUnavailableResponseCodes | string array | Specifies the set of response codes identifying when the origin responds with errors. | detectOriginUnavailable is true | {"displayType":"string array","tag":"input","todo":true} {"if":{"attribute":"detectOriginUnavailable","op":"eq","value":true}} |
originUnavailableBlacklistOriginIp | boolean | Enabling this blacklists the origin's IP address. | detectOriginUnavailable is true | {"displayType":"boolean","tag":"input","type":"checkbox"} {"if":{"attribute":"detectOriginUnavailable","op":"eq","value":true}} |
originUnavailableBlacklistWindow | enum | This sets the delay before blacklisting an IP address. | originUnavailableBlacklistOriginIp 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. | |||
originUnavailableRecovery | enum | This sets the recovery option. | detectOriginUnavailable 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. | |||
originUnavailableRetryLimit | enum | Sets how many times to retry. | originUnavailableRecovery 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 | ||||
originUnavailableBackupHost | string | This specifies the origin hostname. | originUnavailableRecovery is SWITCH_TO_BACKUP_ORIGIN | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"originUnavailableRecovery","op":"eq","value":"SWITCH_TO_BACKUP_ORIGIN"}} |
originUnavailableAlternateHost | string | This specifies the redirect's destination hostname. | originUnavailableRecovery is REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"originUnavailableRecovery","op":"eq","value":"REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"}} |
originUnavailableModifyRequestPath | boolean | Modifies the request path. | originUnavailableRecovery is SWITCH_TO_BACKUP_ORIGIN OR originUnavailableRecovery 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"}]}} |
originUnavailableModifiedPath | string | This specifies the path to form the new URL. | originUnavailableModifyRequestPath is true | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"originUnavailableModifyRequestPath","op":"eq","value":true}} |
originUnavailableIncludeQueryString | boolean | Enabling this includes the original set of query parameters. | originUnavailableModifyRequestPath is true | {"displayType":"boolean","tag":"input","type":"checkbox"} {"if":{"attribute":"originUnavailableModifyRequestPath","op":"eq","value":true}} |
originUnavailableRedirectMethod | enum | Specifies either a redirect response code. | originUnavailableRecovery 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 | ||||
originUnavailableChangeProtocol | boolean | Modifies the request protocol. | originUnavailableRecovery is SWITCH_TO_BACKUP_ORIGIN OR originUnavailableRecovery 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"}]}} |
originUnavailableProtocol | enum | Specifies either the | originUnavailableChangeProtocol is true | {"displayType":"enum","options":["HTTP","HTTPS"],"tag":"select"} {"if":{"attribute":"originUnavailableChangeProtocol","op":"eq","value":true}} |
Supported values: HTTP HTTPS | ||||
detectObjectUnavailable | boolean | Allows you to configure failover settings when the origin has content errors. | {"displayType":"boolean","tag":"input","type":"checkbox"} | |
objectUnavailableDetectionLevel | enum | Specify | detectObjectUnavailable 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. | |||
objectUnavailableResponseCodes | string array | Specifies the set of response codes identifying when there are content errors. | detectObjectUnavailable is true | {"displayType":"string array","tag":"input","todo":true} {"if":{"attribute":"detectObjectUnavailable","op":"eq","value":true}} |
objectUnavailableBlacklistOriginIp | boolean | Enabling this blacklists the origin's IP address. | detectObjectUnavailable is true | {"displayType":"boolean","tag":"input","type":"checkbox"} {"if":{"attribute":"detectObjectUnavailable","op":"eq","value":true}} |
objectUnavailableBlacklistWindow | enum | This sets the delay before blacklisting an IP address. | objectUnavailableBlacklistOriginIp 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. | |||
objectUnavailableRecovery | enum | This sets the recovery option. | detectObjectUnavailable 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. | |||
objectUnavailableRetryLimit | enum | Sets how many times to retry. | objectUnavailableRecovery 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 | ||||
objectUnavailableBackupHost | string | This specifies the origin hostname. | objectUnavailableRecovery is SWITCH_TO_BACKUP_ORIGIN | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"objectUnavailableRecovery","op":"eq","value":"SWITCH_TO_BACKUP_ORIGIN"}} |
objectUnavailableAlternateHost | string | This specifies the redirect's destination hostname. | objectUnavailableRecovery is REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"objectUnavailableRecovery","op":"eq","value":"REDIRECT_TO_DIFFERENT_ORIGIN_LOCATION"}} |
objectUnavailableModifyRequestPath | boolean | Enabling this allows you to modify the request path. | objectUnavailableRecovery is SWITCH_TO_BACKUP_ORIGIN OR objectUnavailableRecovery 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"}]}} |
objectUnavailableModifiedPath | string | This specifies the path to form the new URL. | objectUnavailableModifyRequestPath is true | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"objectUnavailableModifyRequestPath","op":"eq","value":true}} |
objectUnavailableIncludeQueryString | boolean | Enabling this includes the original set of query parameters. | objectUnavailableModifyRequestPath is true | {"displayType":"boolean","tag":"input","type":"checkbox"} {"if":{"attribute":"objectUnavailableModifyRequestPath","op":"eq","value":true}} |
objectUnavailableRedirectMethod | enum | Specifies a redirect response code. | objectUnavailableRecovery 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 | ||||
objectUnavailableChangeProtocol | boolean | Changes the request protocol. | objectUnavailableRecovery is SWITCH_TO_BACKUP_ORIGIN OR objectUnavailableRecovery 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"}]}} |
objectUnavailableProtocol | enum | Specifies either the | objectUnavailableChangeProtocol is true | {"displayType":"enum","options":["HTTP","HTTPS"],"tag":"select"} {"if":{"attribute":"objectUnavailableChangeProtocol","op":"eq","value":true}} |
Supported values: HTTP HTTPS | ||||
clientResponseCode | string | Specifies the response code served to the client. | {"displayType":"string","tag":"input","type":"text"} | |
cacheErrorResponse | boolean | When enabled, caches the error response. | {"displayType":"boolean","tag":"input","type":"checkbox"} | |
cacheWindow | enum | This sets error response's TTL. | cacheErrorResponse 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. |