Общая конфигурация

Ниже приведен пример общей конфигурации, а в последующих разделах раскрываются примеры конфигурации каждого из разделов.

http resource json object (HRJO) – data from request/response
HRJO structure and keys:
{
   id <string> - uid of resource (used in api url)
             name <string> - identificator for web UI (required)
             origin <json> - section for traffic origin description (required)
             certificate <integer> - id of created certificate
             names <json> - section for names description
             robots <json> - section for robots file description
             headers <json> - section for specific headers description
             cache <json> - section for cache options description
             client_cache <json> - section for extra cache options description
             auth <json> - section for auth options description
             cors <json> - section for cors description
             limitations <json> - section for geo, ip, referer or useragent limitations
             modern_tls_only <boolean> - use only modern versions of TLS
   strong_ssl_ciphers <boolean> - use strong SSL ciphers (required modern_tls_only)
             locations <json> - section for locations description
             compress <json> - section for compress options description
   ioss <boolean> - section for ioss options description
             packaging <json> - section for packaging options description
   tuning <string> - distribution optimization type (one of "default", "large" (for large files > 20 Mbytes), "live" (for HTTP LIVE streams))
   slice_size_megabytes <integer> - size of slice in MB (only for tuning="large")
}

origin section

{
    https <boolean> – use or not https during requests to origin
    ssl_verify <boolean> - check or not certificate during requests to origin (required https)
    s3_bucket <string> - permitted bucket, set when specifying S3-domain
    aws <json> - use aws authorization during requests to origin
    hostname <string> – set host header during requests to origin
    servers <json> – client nodes description
    read_timeout <string> – time in seconds, e.g. "10s"
    send_timeout <string> – time in seconds, e.g. "10s"
    connect_timeout <string> – time in seconds, e.g. "10s"
}

aws section

{
   auth <json> - authorization keys
}

aws auth section

  {
     access_key <string> - access key
secret_key <string> - secret key
  }

servers section

{
    <client_domain/ip_address>: client node address <json>
}

client node address section

{
    port <integer> – client node port (default 80 and 443)
    weight <integer> – load balancing parameters
    max_fails <integer> – load balancing parameters
    backup <boolean> – use node only in backup mode
}

names section

list of string cnames, f.e. ["alias1.client.cdn.ru"]

robots section

{
   type <string> - "deny", "custom" or "cached"
   robotsContent <string> - client’s robots.txt text (only for "custom" type)

}

headers section

{
    request <json> – headers for requests to origin
    response <json> – header for customer responses
}

request headers section

{
    <header_name>: <header_value>
}

response headers section

{
    <header_name>: <header_value>
}

cache section

{
    disable <boolean> – do not cache content
    consider_args <boolean> – use querystring while cache process
    valid <json> – time of caching
}

valid section

{
    2xx <string> – cache ttl for 2xx response codes
    3xx <string> – cache ttl for 3xx response codes
    4xx <string> – cache ttl for 4xx response codes
    5xx <string> – cache ttl for 5xx response codes
    force <boolean> – force cache update on clientside
}

client cache section

{
    expires <integer> – expire cache time
}

cors section

{
    disable <boolean> – disable cors (default: false)
    domains <list of strings> – list of allowed domains
    headers <list of strings> – list of secure request headers (Accept, Accept-Language, Content-Type, Content-Language are allowed by default)
    expose <list of strings> – list of upper level API accessible headers (Cache-Control, Content-Language, Content-Type, Expires, Last-Modified, Pragma are allowed by default)
    methods <list of strings> – list of safe methods (GET, HEAD, POST are allowed by default)
    max_age <integer> – preflight request response lifetime
    credentials <boolean> – set an Access-Control-Allow-Credentials header
}

compress section

{
    brotli <boolean> – use data compression format Brotli
}

limitations section

{
   geo <list> - list of rules for limitation by countries and regions
   ip <list> - list of rules for limitation by ip addresses
   referer <list> - list of rules for limitation by referer
   useragent <list> - list of rules for limitation by useragent
}

limitations rules section

{
   default_action <string> - "allow" or "deny"
   exclude <list> - list of exclusions
   times <list> - list of time intervals
}

limitations rules times section

{
   start <string> - start of time interval in ISO 8601-1:2019 extended format or null
   end <string> - end of time interval in ISO 8601-1:2019 extended format or null
}

limitations geo exclude section

{
   country <string> - country code in ISO 3166-1 alpha-2
   region <string> - region code in ISO 3166-2 or null
   action <string> - "deny" or "allow"
}

limitations referer exclude section

{
       referer <string> - domain name or regular expression
     }

limitations ip exclude section

{
   ip <string> - IP address to exclude in CIDR notation
}

limitations useragent exclude section

{
   useragent <string> - user agent or regular expression
}

locations section

{
    key <string> – path to content: locations params <json>
}

locations params section

{
    headers <json> – like global section
    cache <json> – like global section
    client_cache <json> – like global section
    auth <json> – like global section
    cors <json> – like global section
    compress <json> – like global section
    ioss <boolean> - like global section
    limitations <json> - like global section
    packaging <json> - like global section
}

packaging params section

{
    <format> <json> - options for the video <format> from the list: mp4
}

packaging format params section

{
    output_protocols <list of strings> - list of formats in which the video will be distributed (HLS, MPEG-DASH)
}
Запустили Evolution free tier
для Dev & Test
Получить