Skip to content

CDNetworks Documentation

Creating a Property permalink

There are two ways to create a new property:

  • Create a new property from scratch.
  • Clone an existing property whose settings are similar to the property you want to create, and then change the settings of the cloned property to suit your needs.

After you create the new property, save and validate the property before you deploy and test it.

Getting Started permalink

  1. In the left pane, click Edge Configurations, and then select Properties.
  2. To create a new property from scratch, click the Create Property button at the top right of the Properties page.

    OR
    To clone an existing property, find the property you want to clone on the Properties page, and then click the vertical ellipsis under Actions and select Clone. Or click a property ID, and then click the horizontal ellipsis next to the Edit or Clone button and select Clone.

create property

  1. Complete the fields in the Create a Property form. Required fields are denoted by an asterisk (*).

edit property

FieldsDescription
Property NameEnter a name that helps you identify this property.
DescriptionAdd a description to associate with this property.
Configuration VersionRead-only field that shows the version number of this property. By default, your first property configuration is Version 1.
DescriptionAdd a description for this first property version.
HostnamesEnter one or more hostnames to be accelerated and which your end users will access.
OriginsOrigins are your servers that CDN Pro accesses to fetch your content. You can specify more than one server. Click the Add New link and then see Adding or Editing Origins in a Property.
Edge LogicWrite NGINX configuration code to specify how you want CDN Pro to deliver content to your visitors. You can click the Wizard button to bootstrap this configuration using the Cache Settings dialog box. For more information, refer to CDNetworks' Edge Logic documentation, which includes a description of supported directives.
TLS SettingsSelect the TLS client certificate settings for your property.
Real Time LoggingIf this advanced feature was enabled for you, complete the real-time logging parameters. If you require this feature, contact the CDNetworks support team.
Advanced SettingsUse advanced settings to specify cache sharing, China ICP Beian, and a load balancer hash key.
  1. To include a baseline configuration with the Edge Logic for the property, click the gear icon at the bottom left of the Edge Logic field. When the popup appears, enter the baseline configuration. When you finish, click the Save button to save the baseline configuration to the database.

Note: If you add a baseline configuration, the wizard appends its configuration after that of the baseline configuration. When you save the baseline configuration, it will not be used to initialize the Edge Logic until you create another property. To use the baseline configuration with the current property you are adding or editing, reload the page; doing so, however, may cause you to lose other changes you made.

  1. To save the property, click the Save button. Several basic syntax checks are performed. If errors are found, you are prompted to fix them before the property is saved. Any property version will have to be "validated" before it can be deployed to staging or production. You can click the Save & Validate button to start the validation process. When the Confirmation pop-up appears, click OK. The validation process usually takes less than a minute. You can either wait for it to finish or close the progress dialog box to perform other tasks while validation continues in the background. You can click Tasks in the left pane to check the validation results. If there is a failure, perform the instructions in the error message to fix it.

  2. If the property is validated successfully, you can deploy it to the staging or production environment. By default, trial users will have access to the staging environment only. Please contact the CDNetworks support team to enable access to the production environment.

Edge Logic Wizard permalink

Use the Edge Logic wizard to create an initial version of the Edge Logic. The wizard supports some of the most basic cache configurations. You can set cache behavior for multiple locations. You can also modify the generated Edge Logic code to add complicated behaviors to suit your requirements.

When you click the Wizard button, a prompt appears with the following choices.

  • Start with a baseline setting for website acceleration. Initializes settings for a typical website.
  • Start with a baseline setting for download or VoD acceleration. Initializes settings to accelerate large file downloads or Video on Demand (VOD).
  • Start with a clean slate Select this choice if your content does not fit one of the other choices, or if you want to set up all the settings manually.

wizard prompt

After making your selection, complete the settings in the Edge Logic Wizard page, and then click OK to display the Edge Logic code. You can then edit the code shown in the field as necessary or click the Wizard button to change your selections.

Note: If the Edge Logic code is extremely long, check the Soft Wrap Text check box to display long text on multiple lines instead of one long line.

TLS Settings permalink

This section allows you to:

  • Enable HTTPS for this property by attaching a TLS certificate to it. If both RSA and ECC algorithms need to be supported, add a second certificate with an algorithm different from the first certificate.
  • Downgrade the protocol from HTTPS to HTTP when accessing the origin. Note that doing so may expose you to security risks.
  • Enable zero round-trip time resumption for TLS 1.3. Select Enable 0-RTT only if tlsMinVersion or tlsMaxVersion includes TLS 1.3.
  • Specify the maximum number of seconds to wait for a secure TLS handshake to be initiated and to complete before the TLS session times out.
The remaining settings are intuitive. Specify the TLS ciphers in the format described in the OpenSSL documentation.

Note: If you enter multiple cipher suites in the TLS Ciphers field, separate them with colons.

TLS Settings

Real-Time Log permalink

If you signed an agreement with CDNetworks for accessing the real-time log, use the Real-Time Log section to "stream" an access log in real time to your designated HTTP or HTTPS endpoint. You can specify the format of each log entry using the NGINX variables shown in the following table; they will be replaced with the actual values in the notifications. If you use JSON format for the log, select JSON to escape special characters in the variable values. You can also specify a sample rate to reduce the number of log entries. Use request headers to pass additional information to the receiving endpoint.

VariableDescription
$body_bytes_sentSize of the response body.
$bytes_sentSize of the response, including body, headers, and response line.
$client_country_codeISO 3166-1 country code representing the country of the client request (for example, US). If the country is unknown, ZZ is returned.
$client_real_ipIP address of the client request.
$content_codeA code assigned to content for reporting and billing purposes.
$cookie_xObtains any cookie named x. For example, $cookie_account retrieves the value of a cookie named account.
$http_xObtains any HTTP header named x from the original request. The header name is converted to lower case, with dashes replaced by underscores. For example, $http_user_agent fetches the value of User-Agent.
$msecCurrent Unix time in seconds with millisecond precision.
$qtl_req_idUnique identifier representing the request.
$request_uriHTTP request URI.
$request_methodHTTP request method used to access the origin.
$request_schemeProtocol of the user's request (either http or https).
$request_timeResponse time in milliseconds. This is the time between receiving the request's first byte and serving the last byte of the response.
$sc_completed1 = last byte of the object was served to the user.
Otherwise, 0.
$sc_initial1 = first byte of the object was served to the user.
Otherwise, 0.
$sent_http_content_lengthOriginal file size.
$sent_http_xObtain the value of an HTTP header named x that is returned in the response to the client. The header name is converted to lower case, with dashes replaced by underscores. For example, $sent_http_etag fetches the value of the ETag header.
$server_addrIP address of the edge node serving the user's request.
$server_protocolVersion of HTTP used in the user's request (HTTP/1.0, HTTP/1.1, or HTTP/2.0).
$ssl_cipherCipher suite used for the TLS (SSL) connection.
$ssl_server_nameHostname to which a client initiating a TLS (SSL) connection is attempting to connect. It is sent only by clients supporting Server Name Indication (SNI).
$ssl_protocolTLS version used for the TLS (SSL) connection. Example versions include SSLv3, TLSv1, TLSv1.1, TLSv1.2, and unknown.
$statusHTTP response code for the user's request.
$tcpinfo_rttTime in microseconds taken by a packet to travel to the destination and return.

Real-Time Log

Advanced Settings permalink

Cache Key Hostname: By default, the Host header value in the client request is used in the cache key. If this property contains multiple service hostnames, the contents of different hostnames will be cached separately. If you want all hostnames to share one cached copy, specify a fixed "Cache Key Hostname" to override the default behavior.

Has ICP Beian: If this property must be served from servers in mainland China, make sure all hostnames have Beian on file with the Chinese government. You can then contact the CDNetworks support team to enable this function for you. Once enabled, change the Has ICP Beian setting to Yes.

Note: You can set Has ICP Beian to Yes without contacting CDNetworks; however, the functionality WILL NOT be enabled until you request activation from CDNetworks.

Note: Setting Has ICP Beian to Yes applies to the entire property, i.e. all hostnames in a property. If any hostname in a property does not have Beian, the property deployment will be rejected. And, if any hostname in a deployed property is later found to have invalid Beian, CDN Pro will automatically turn off the "hasBeian" switch for the entire property, even if the other hostnames in the same property still have valid Beian. Refer to this FAQ for more information.

Load Balancer Logic: Enter Edge Logic to customize load balancing. You can use a subset of the directives, including if, set, return, eval_func, add_header, client_max_body_size, deny, and allow. For the list of directives allowed in this field, refer to the loadBalancerDirectives field in the response to the system configuration API. This list can include advanced Edge Logic directives that have not been enabled for your account. Example: if ($http_user_agent = bot) { return 403;}

Note: If the Edge Logic code is extremely long, check the Soft Wrap Text check box to display long text on multiple lines instead of one long line.

Load Balancer Hash Key: CDN Pro uses multiple tiers of load balancing to distribute client requests to different servers, with consistent hashing used in many of these places. By default, the URL is used as the hash key, which should be satisfactory in most cases. However, you can define additional variables to be added to the hash key to distribute the requests more evenly. One typical use case is when all requests carry the same URL, but use a particular header field to indicate different resources. In general, the variable(s) specified here should be a subset of the variables you enter into the cache key. Only the following variables are supported: $http_*, $cookie_*, $arg_*.

Certificate Renew Automation: By default, CDN Pro takes control of the contents under the /.well-known/{acme-challenge, pki-validation} directories to support certificate auto-renew for properties. If you need to manage these two directories by yourself on the origin (for example, to implement your own certificate auto-renew mechanism), you can use this configuration option to disable the default behavior.

  • If Support is selected, CDN Pro takes control of the two "special" directories to support auto-renewing of the property's certificate. This is the default setting.
  • If Disable is selected, CDN Pro releases control of these special directories to the origin.

HTTP/2: Use the radio buttons to enable or disable the HTTP/2 protocol. HTTP/2 is enabled by default. If disabled, HTTP/1.1 is used.

Video Seeking: This parameter supports seeking in a video using the following fields to specify the starting and ending positions.

  • In the Start Parameter field, enter the beginning position of a video segment in bytes.
  • In the End Parameter field, enter the ending position of the video segment in bytes, or leave this field empty to play the video to the end.

Property Advanced Settings