Enabling file compression
To enable compression of resource files:
Note
Before delivery, the content will be compressed by CDN servers using the GZIP compression algorithm. This format is also used to send content to clients in the case of the Content-Encoding
HTTP header. Only uncompressed content is requested from origins.
-
In the management console, select the folder where your resource is located.
-
Select Cloud CDN.
-
Click the name of the desired resource.
-
Go to the Content tab.
-
In the top right-hand corner, click
Edit. -
In the gzip compression field, enable Compress files.
-
Click Save.
If you don't have the Yandex Cloud command line interface yet, install and initialize it.
The folder specified in the CLI profile is used by default. You can specify a different folder using the --folder-name
or --folder-id
parameter.
-
View a description of the CLI update resource command:
yc cdn resource update --help
-
Get a list of all resources in the default folder:
yc cdn resource list --format yaml
Result:
id: someidkfjqjfl325fw folder_id: somefolder7p3l5eobbd cname: testexample.com created_at: "2022-01-19T09:23:57.921365Z" updated_at: "2022-01-19T10:55:30.305141Z" active: true options: edge_cache_settings: enabled: true default value: "345600" cache_http_headers: enabled: true value: - content-type - content-length - connection - server - date - test stale: enabled: true value: - error - updating allowed_http_methods: value: - GET - POST - HEAD - OPTIONS origin_group_id: "89783" origin_group_name: My origins group origin_protocol: HTTP ssl_certificate: type: DONT_USE status: READY
-
Enable file compression using the
--gzip-on
flag:yc cdn resource update <resource ID> --gzip-on
For more information about the
yc cdn resource update
command, see the CLI reference.
If you do not have Terraform yet, install it and configure the Yandex Cloud provider.
-
In the configuration file, describe the parameters of the CDN resource to create:
terraform { required_providers { yandex = { source = "yandex-cloud/yandex" version = "0.69.0" } } } provider "yandex" { token = "<OAuth>" cloud_id = "<cloud ID>" folder_id = "<folder ID>" zone = "<availability zone>" } resource "yandex_cdn_resource" "my_resource" { cname = "cdn1.yandex-example.ru" active = false origin_protocol = "https" secondary_hostnames = ["cdn-example-1.yandex.ru", "cdn-example-2.yandex.ru"] origin_group_id = yandex_cdn_origin_group.my_group.id options { gzip_on = true } }
Where:
cname
: Primary domain name used for content distribution. This parameter is required.active
: Flag that indicates if content is available to end users.True
: Content from the CDN is available to clients. Optional parameter, the default value istrue
.origin_protocol
: Origin protocol. This is an optional parameter.secondary_hostnames
: Additional domain names. This is an optional parameter.origin_group_id
: ID of the origin group. This parameter is required. Use the ID from the description of the origin group in theyandex_cdn_origin_group
resource.- The
options
section contains additional parameters of CDN resources:gzip_on
: Flag that indicates whether compression will be used.
For more information about
yandex_cdn_resource
parameters in Terraform, see the provider documentation. -
In the command line, go to the directory with the Terraform configuration file.
-
Check the configuration using this command:
terraform validate
If the configuration is correct, you will get this message:
Success! The configuration is valid.
-
Run this command:
terraform plan
The terminal will display a list of resources with parameters. No changes are made at this step. If the configuration contains any errors, Terraform will point them out.
-
Apply the configuration changes:
terraform apply
-
Confirm the changes: type
yes
into the terminal and press Enter.You can check the changes to the CDN resource in the management console or using the CLI:
yc cdn resource list
Use the update REST API method for the Resource resource or the ResourceService/Update gRPC API call.
It may take up to 15 minutes for the new settings of the existing resource to apply to CDN servers. After that, we recommend purging the resource cache.