Настройка пользовательского имени сервера для SNI
Вы можете настроить пользовательское имя сервера для SNI (Server Name Indication)
Примечание
Настройка доступна только при использовании HTTPS-соединения между CDN-серверами и источником.
Создать ресурс с пользовательским именем сервера для SNI
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для создания ресурсов:
yc cdn resource update --help -
Получите список всех групп источников в каталоге:
yc cdn origin-group list --format yamlРезультат:
- id: "*****" folder_id: b1g86q4m5vej******** name: test-group-1 ... origin_group_id: "*****" source: www.a1.com enabled: true -
Создайте ресурс с пользовательским именем сервера для SNI:
yc cdn resource create <доменное_имя_ресурса> \ --origin-group-id <идентификатор_группы_источников> \ --origin-protocol HTTPS \ --custom-server-name <имя_сервера_для_SNI>Результат:
id: bc8rpzaciiyp******** folder_id: b1g681qpemb4******** cname: example.com ... custom_server_name: enabled: true value: custom.example.com ...
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры создаваемого CDN-ресурса:
resource "yandex_cdn_resource" "my_resource" { cname = "<имя_домена>" active = true origin_protocol = "https" origin_group_id = <идентификатор_группы_источников> options { custom_server_name = <имя_сервера_для_SNI> } }Где:
cname— основное доменное имя для раздачи контента. Обязательный параметр.active— флаг, указывающий на доступ к контенту для конечных пользователей:true— контент из CDN доступен клиентам,false— доступ к контенту отключен. Значение по умолчанию:true. Необязательный параметр.origin_protocol— протокол для источников. Значение по умолчанию:http. Необязательный параметр.origin_group_id— идентификатор группы источников. Обязательный параметр. Используйте идентификатор из описания группы источников в ресурсеyandex_cdn_origin_group.custom_server_name— пользовательское имя сервера для SNI.
-
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Terraform создаст все требуемые ресурсы. Проверить создание CDN-ресурса можно в консоли управления
или с помощью команды CLI:yc cdn resource list -
Добавьте блок customServerName при использовании метода create для ресурса Resource:
"originProtocol": "HTTPS",
"options": {
"customServerName": {
"enabled": "<true_или_false>",
"value": "string"
}
}
Где:
-
customServerName.enabled— включение опции:true— включить опцию.false— отключить опцию.
-
customServerName.value— пользовательское имя сервера для SNI. -
originProtocol— протокол соединения между CDN-серверами и источником.
Добавьте блок custom_server_name при использовании вызова ResourceService/Create:
"origin_protocol": "HTTPS",
"options": {
"custom_server_name": {
"enabled": "<true_или_false>",
"value": "string"
}
}
Где:
-
custom_server_name.enabled— включение опции:true— включить опцию.false— отключить опцию.
-
custom_server_name.value— новое пользовательское имя сервера для SNI. -
origin_protocol— протокол соединения между CDN-серверами и источником.
Изменить пользовательское имя сервера для SNI
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для редактирования ресурсов:
yc cdn resource update --help -
Получите список всех ресурсов в каталоге:
yc cdn resource list --format yamlРезультат:
- id: bc8rpzaciiyp******** folder_id: b1g681qpemb4******** cname: example.com ... custom_server_name: enabled: true value: custom.example.com ... -
Измените пользовательское имя сервера для SNI:
yc cdn resource update <идентификатор_ресурса> \ --origin-protocol HTTPS \ --custom-server-name <новое_имя_сервера_для_SNI>Результат:
- id: bc8rpzaciiyp******** folder_id: b1g681qpemb4******** cname: example.com ... custom_server_name: enabled: true value: new.example.com ...Чтобы удалить пользовательское имя сервера для SNI, используйте флаг
--clear-custom-server-name:yc cdn resource update <идентификатор_ресурса> \ --clear-custom-server-name
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы изменить параметры CDN-ресурса, созданного с помощью Terraform:
-
Откройте файл конфигурации Terraform и измените фрагмент с описанием ресурса:
resource "yandex_cdn_resource" "my_resource" { cname = "<имя_домена>" active = true origin_protocol = "https" origin_group_id = <идентификатор_группы_источников> options { custom_server_name = <новое_имя_сервера_для_SNI> } }Где:
cname— основное доменное имя для раздачи контента. Обязательный параметр.active— флаг, указывающий на доступ к контенту для конечных пользователей:true— контент из CDN доступен клиентам,false— доступ к контенту отключен. Значение по умолчанию:true. Необязательный параметр.origin_protocol— протокол для источников. Значение по умолчанию:http. Необязательный параметр.origin_group_id— идентификатор группы источников. Обязательный параметр. Используйте идентификатор из описания группы источников в ресурсеyandex_cdn_origin_group.custom_server_name— новое пользовательское имя сервера для SNI.
-
Примените изменения:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Terraform обновит все требуемые ресурсы. Проверить обновление CDN-ресурса можно в консоли управления
или с помощью команды CLI:yc cdn resource list -
Добавьте блок customServerName при использовании метода update для ресурса Resource:
"originProtocol": "HTTPS",
"options": {
"customServerName": {
"enabled": "<true_или_false>",
"value": "string"
}
}
Где:
-
customServerName.enabled— включение опции:true— включить опцию.false— отключить опцию.
-
customServerName.value— пользовательское имя сервера для SNI. -
originProtocol— протокол соединения между CDN-серверами и источником.
Добавьте блок custom_server_name при использовании вызова ResourceService/Update:
"origin_protocol": "HTTPS",
"options": {
"custom_server_name": {
"enabled": "<true_или_false>",
"value": "string"
}
}
Где:
-
custom_server_name.enabled— включение опции:true— включить опцию.false— отключить опцию.
-
custom_server_name.value— новое пользовательское имя сервера для SNI. -
origin_protocol— протокол соединения между CDN-серверами и источником.