Configuring HTTP headers of requests and responses
To configure HTTP request and response headers for a resource:
Note
The Access-Control-Allow-Origin
header for the CORS configuration is configured under CORS when responding to client requests. For more information, see Configuring CORS when responding to clients.
-
In the management console
, select the folder where your resource is located. -
Select Cloud CDN.
-
Click the resource name.
-
Go to the HTTP headers and methods tab.
-
In the top-right corner, click
Edit. -
Under Origin request headers:
- In the Header field, click Add.
- Enter names and values of the headers you need.
-
Under Client response headers:
- In the Header field, click Add.
- Enter names and values of the headers you need.
-
Click Save.
If you do not have the Yandex Cloud CLI yet, install and initialize it.
The folder specified in the CLI profile is used by default. You can specify a different folder through the --folder-name
or --folder-id
parameter.
-
View the 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: s0me1dkfjq******** folder_id: s0mef01der7p******** 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
-
To add headers, run:
yc cdn resource update <resource_ID> \ --static-request-headers <key>=<value> \ --static-headers <key>=<value>
Where:
--static-request-headers
: Adds request headers to the origin. You can remove them using the--clear-static-request-headers
flag.--static-headers
: Adds client response headers. You can remove them using the--clear-static-headers
flag.
For more information about the
yc cdn resource update
command, see the CLI reference.
If you don't have Terraform, 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_token>" 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 { cache_http_headers = ["GET","PUT"] cors = ["*"] static_response_headers = { "world2" = "2hello" } } }
Where:
cname
: Primary domain name used for content distribution. This is a required parameter.active
: Flag indicating content availability to end users.True
: CDN content will be available to clients. This is an optional parameter. The default value istrue
.origin_protocol
: Protocol for origins. This is an optional parameter. The default value ishttp
.secondary_hostnames
: Additional domain names. This is an optional parameter.origin_group_id
: Origin group ID. This is a required parameter. 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:static_response_headers
: Custom headers that CDN servers send in response to the client. This is an optional parameter.
For more information about the
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 their parameters. No changes will be 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 this CLI command:yc cdn resource list
Use the update REST API method for the Resource resource or the ResourceService/Update gRPC API call.