Child pages
  • Edit HTTP Pull CDN Resource with Advanced Settings
Skip to end of metadata
Go to start of metadata

To edit HTTP Pull CDN resource:

PUT /cdn_resources/:cdn_resource_id.xml
PUT /cdn_resources/:cdn_resource_id.json

XML Request example

curl -i -X PUT -u user:userpass --url http://onapp.test/cdn_resources/12710.xml -H 'Accept: application/xml' -H 'Content-type: application/xml' -d '<cdn_resource><cdn_hostname>testnewnewpull.qwe</cdn_hostname><origin>111.111.11.111</origin><cdn_ssl_certificate_id>ssl_sert_id</cdn_ssl_certificate_id><edge_group_ids type="array"><edge_group_id>225</edge_group_id></edge_group_ids><secondary_hostnames type="array"><secondary_hostname>test100.com</secondary_hostname><secondary_hostname>test200.com</secondary_hostname></secondary_hostnames><ip_access_policy>BLOCK_BY_DEFAULT</ip_access_policy><ip_addresses>111.111.11.111,222.222.22.222</ip_addresses><country_access_policy>ALLOW_BY_DEFAULT</country_access_policy><countries type="array"><country>AL</country><country>GT</country></countries><hotlink_policy>ALLOW_BY_DEFAULT</hotlink_policy><domains>abuse.co.ua abuse.org</domains><url_signing_on>1</url_signing_on><url_signing_key>newurlkey</url_signing_key><cache_expiry>45</cache_expiry><password_on>1</password_on><form_pass><user type="array"><string>user123new</string><string>user234new</string></user><pass type="array"><string>passw123new</string><string>passw234new</string></pass></form_pass><password_unauthorized_html>YOU ARE NOT AUTHORIZED</password_unauthorized_html><flv_pseudo_on>1</flv_pseudo_on><mp4_pseudo_on>1</mp4_pseudo_on><limit_rate>1000</limit_rate><limit_rate_after>1500</limit_rate_after><proxy_cache_key>$host$uri</proxy_cache_key><proxy_read_time_out>60</proxy_read_time_out><proxy_connect_time_out>20</proxy_connect_time_out><http_bot_blocked>1</http_bot_blocked><origin_policy>HTTP</origin_policy></cdn_resource>'

JSON Request example

curl -i -X PUT -H 'Accept: application/json' -H 'Content-type: application/json' -u user:userpass --url http://onapp.test/cdn_resources/12711.json -d '{"cdn_resource":{"origin":"test123test.com","cdn_hostname":"jssscdn.apitestpull.com","cdn_ssl_certificate_id":"ssl_cert_id","edge_group_ids":["225"],"secondary_hostnames":["name11test.con","name21test.con"],"ip_access_policy":"ALLOW_BY_DEFAULT","ip_addresses":"10.10.5.6,125.125.125.125","country_access_policy":"BLOCK_BY_DEFAULT","countries":["AL","AR","GT","HR"],"hotlink_policy":"ALLOW_BY_DEFAULT","domains":"mnw.netggl.com","url_signing_on":"1","url_signing_key":"123456789321","cache_expiry":45,"password_on":1,"form_pass":{"user":["user190","user278"],"pass":["pass123","pass2348"]},"password_unauthorized_html":"<b>You are blocked!</b>","mp4_pseudo_on":"1","flv_pseudo_on":"1","ignore_set_cookie_on":"1","limit_rate":"150","limit_rate_after":"1","proxy_cache_key":"$host$uri","proxy_read_time_out":"60","proxy_connect_time_out":"60","http_bot_blocked":"1","origin_policy":"HTTP"}}'

 

Returns HTTP 204 response on successful processing, and HTTP 404 when there is no CDN resource with a requested ID, or URL is incorrect.

Where:

origin* - the path from which the CDN requests the content. When using the hostnames according to RFC 1035, the origin may consist of letters [A-Z a-z] (case insensitive manner), digits [0-9], and dash [ - ]. The limit for hostname is 255 characters. You can specify up to 3 origins.

cdn_hostname* - indicate the hostname which will serve static content

SSL

If the CDN hostname ends with '.r.worldssl.net', SSL will be enabled automatically.

To disable, remove the '.r.worldssl.net' ending and send the "ssl_on":false parameter. To enable, add the '.r.worldssl.net' ending to the cdn_hostname and send the "ssl_on":true parameter.

Be aware that if CDN hostname ends with 'r.worldssl.net', it can not be digit-only (for example 123456.r.worldssl.net is not applicable).

(lightbulb)cdn_ssl_certificate_id - the ID of the custom SNI SSL certificate you want to add to the resource. You should only specify the IDs of those certificates that were added by the user with whom the new resource will be associated.

edge_group_ids* - indicate the ID(s) of required CDN edge groups

secondary_hostnames - an array of secondary CDN hostnames. You can add up to 7 secondary CDN hostnames.

<secondary_hostnames type="array">	
	<secondary_hostname>test100.com</secondary_hostname>
	<secondary_hostname>test200.com</secondary_hostname>
</secondary_hostnames>

To be able to use a secondary hostname for the CDN resource with SSL enabled, you require an SSL certificate for your custom hostname. For help with questions about the SSL certificate purchase, please contact OnApp support.


advanced_settings* - set 1 to enable advanced settings:

ip_access_policy - configure a rule to control access to the CDN resource's content for a range of IP addresses:

  • ALLOW_BY_DEFAULT - allow IP access policy by default, except for IP addresses specified in the ip_addresses parameter
  • BLOCK_BY_DEFAULT - block IP access policy by default, except for IP addresses specified in the ip_addresses parameter
  • NONE - switch off the IP access policy

ip_addresses - IP address(es) related to ip_access_policy parameter; The comma-separated list of IP addresses or IP ranges allowed/blocked by default. Use the following format "10.10.10.10, 20.20.20.0/24"

hotlink_policy - configure hotlink policy properties to protect your content from unauthorized hotlinking:

  • ALLOW_BY_DEFAULT - allow hotlink policy by default, except for domains specified in the domains parameter
  • BLOCK_BY_DEFAULT - block hotlink_policy by default, except for domains specified in the domains parameter
  • NONE - switch off the rule

domains - domains related to hotlink_policy

country_access_policy - configure a rule to control access to the CDN resource's content for specified countries:

  • ALLOW_BY_DEFAULT - allow country access policy by default, except for countries specified in the countries parameter
  • BLOCK_BY_DEFAULT - block country access policy by default, except for countries specified in the countries parameter
  • NONE - switch off the country access policy

countries - country codes, related to country_access_policy in ISO 3166-1 alpha-2 format.

cache_expiry - set the cache expiry time in minutes (min=1, max=71582788)

url_signing_on - set 1 to enable and protect your files from unauthorized access with a key

url_signing_key - input the key for URL signing. Input letters and digits (6-32 symbols).

password_on - set 1 to enable and to restrict access to the resource (cdn_hostname), otherwise set 0

form_pass - an array with usernames and passwords to access the resource

pass - the user password.

user - the user login, which may consist of letters [A-Z a-z] (case insensitive manner), digits [0-9], underscore [ _ ], dash [ - ].The first symbol should be alphabetic. The username cannot be duplicated.

password_unauthorized_html - text, which will be displayed in case of fail of authentication. Max 1000 chars.

mp4_pseudo_on - set 1 to enable MP4 pseudo streaming, otherwise set 0

flv_pseudo_on - set 1 to enable FLV pseudo streaming, otherwise set 0

ignore_set_cookie_on -set 1  to enable caching content with Set-Cookie response headers, otherwise set 0 to ignore content caching

Nginx Settings

  • limit_rate - sets speed limit of a response to a client (per request) in KB/s. Maximum limit rate value - 2147483647 KB/s
  • limit_rate_after - sets the amount after which the speed of a response to a client will be limited in KB. Maximum limit rate after value -2147483647 KB
  • proxy_read_time_out - proxy server response timeout in seconds. Maximum proxy read timeout value - 65535 seconds
  • proxy_connect_time_out - timeout for establishing connection with proxy server in seconds. Maximum proxy connect time out value - 75 seconds.
  • proxy_cache_key - specify the cache key. You can set the following options:

    • $host$request_uri
    • $host$uri
    • $proxy_host$request_uri
    • $proxy_host$uri

http_bot_blocked - set 1 to block Google web crawling bot  from indexing the CDN content (for HTTP Pull CDN resources only)

origin_policy - set the parameter to choose the type of connection. Possible values are: HTTP, HTTPS, AUTO.

Page history

v. 4.0

  • Added cdn_ssl_certificate_id parameter that enables a user to associate a custom SNI SSL certificate with a CDN resource

v. 3.3.1

Added the following parameter:

  • origin_policy
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels