Yandex Cloud
  • Services
  • Solutions
  • Why Yandex Cloud
  • Pricing
  • Documentation
  • Contact us
Get started
Language / Region
© 2022 Yandex.Cloud LLC
Yandex Cloud CDN
  • Getting started
  • Step-by-step instructions
    • All instructions
    • Resources
      • Creating a resource
      • Editing basic settings of a resource
      • Configuring resource caching
      • Configuring log export
      • Pre-loading files to CDN servers
      • Purging resource cache
      • Configuring request and response headers
      • Configuring CORS for responses to clients
      • Configuring HTTP methods
      • Enabling file compression
      • Enabling file segmentation
      • Enabling origin shielding
      • Disabling a resource
      • Deleting a resource
    • Origin groups
      • Creating an origin group
      • Editing an origin group
      • Connecting an origin group to a resource
      • Deleting an origin group
  • Practical guidelines
    • Publishing game updates
    • Integrating an L7 load balancer with the CDN and Object Storage
    • Blue-green and canary deployment
  • Concepts
    • Service overview
    • Resource
    • Origins and origin groups
    • Exchanging data between clients and the CDN
      • Overview
      • TLS certificates
      • CORS
      • Compressing content
    • Exchanging data between the CDN and origins
      • Overview
      • Host header
      • Segmenting content
      • Origin shielding
    • Caching content
    • Exporting logs
    • Quotas and limits
  • Access management
  • Troubleshooting
  • API reference
    • Authentication in the API
    • gRPC
      • Overview
      • CacheService
      • OriginGroupService
      • OriginService
      • ProviderService
      • RawLogsService
      • ResourceService
      • OperationService
    • REST
      • Overview
      • Cache
        • Overview
        • prefetch
        • purge
      • OriginGroup
        • Overview
        • create
        • delete
        • get
        • list
        • update
      • Origin
        • Overview
        • create
        • delete
        • get
        • list
        • update
      • Provider
        • Overview
        • activate
        • listActivated
      • RawLogs
        • Overview
        • activate
        • deactivate
        • get
        • update
      • Resource
        • Overview
        • create
        • delete
        • get
        • getProviderCName
        • list
        • update
  • Pricing policy
  1. Step-by-step instructions
  2. Resources
  3. Configuring HTTP methods

Configuring HTTP methods

Written by
Yandex Cloud
  • Examples

To configure, for the resource, the allowed HTTP methods of requests from clients:

Management console
CLI
Terraform
  1. In the management console, select the folder where your resource is located.

  2. Select Cloud CDN.

  3. Click the name of the desired resource.

  4. Go to HTTP headers and methods.

  5. In the top right-hand corner, click Edit.

  6. Under Client request methods, select the Allowed methods from the drop-down list.

  7. 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.

  1. View a description of the CLI update resource command:

    yc cdn resource update --help
    
  2. 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
    
  3. Specify the allowed HTTP methods for client requests using the --allowed-http-methods flag:

    yc cdn resource update <resource ID> \
      --allowed-http-methods <allowed methods>
    

    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.

  1. In the configuration file, describe the parameters of a CDN resource to create:

    • cname: The primary domain name used for content distribution. Required parameter.
    • active: A flag that indicates if content is available to end users. True: CDN content is available to end users. Optional parameter, defaults to True.
    • origin_protocol: Origin protocol. Optional parameter, defaults to http.
    • secondary_hostnames: Additional domain names. Optional.
    • origin_group_id: ID of the origin group. Required parameter. Use the ID from the description of the origin group in the yandex_cdn_origin_group resource.
    • The options section contains additional parameters of CDN resources:
      • allowed_http_methods: HTTP methods allowed for your CDN content. By default, the following methods are allowed: GET, HEAD, POST, PUT, PATCH, DELETE, and OPTIONS. If the user is not allowed to use any method, 405 (Method Not Allowed) is returned. For methods that are not supported, 501 (Not Implemented) is returned. Optional parameter, defaults to: GET, HEAD, POST, or OPTIONS.

    Example configuration file structure:

    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 {
          allowed_http_methods = ["GET","PUT"]
        }
    
    }
    

    For more detailed information on the yandex_cdn_target_group resource parameters in Terraform, see the provider documentation.

  2. In the command line, go to the directory with the Terraform configuration file.

  3. Check the configuration using the command:

    terraform validate
    

    If the configuration is correct, the following message is returned:

    Success! The configuration is valid.
    
  4. Run the command:

    terraform plan
    

    The terminal will display a list of resources with parameters. No changes are made at this step. If there are errors in the configuration, Terraform points them out.

  5. Apply the configuration changes:

    terraform apply
    
  6. Confirm the changes: type yes into the terminal and press Enter.

    You can check if the CDN resource has changed in the management console or using the CLI.

    yc cdn resource list
    

It may take up to 15 minutes for the new resource settings to apply to CDN servers. After that, we recommend purging the resource cache.

Examples

CLI

Add the allowed GET method to the resource:

yc cdn resource update someidkfjqjfl325fw --allowed-http-methods GET

Result:

id: someidkfjqjfl325fw

...

cname: testexample.com
active: true

...

allowed_http_methods:
enabled: true
value:
- GET

For details, see also

  • Configuring data exchange between clients and the CDN

Was the article helpful?

Language / Region
© 2022 Yandex.Cloud LLC