Loading...

Справка CDN.com.tr

Аутентифицированное подключение к источнику (mTLS): принимайте на источнике только CDN.com.tr

Наши edge-серверы предъявляют клиентский сертификат при подключении к вашему источнику. Источник требует его и принимает только то имя, которое вы закрепили: сертификат CDN.com.tr на всех платных тарифах или сертификат только для вашего аккаунта на тарифах Enterprise. Edge-серверы также могут проверять сертификат вашего источника.

Аутентифицированное подключение к источнику (mTLS): принимайте на источнике только CDN.com.tr

Наши edge-серверы предъявляют клиентский сертификат при подключении к вашему источнику. Источник требует его и принимает только то имя, которое вы закрепили: сертификат CDN.com.tr на всех платных тарифах или сертификат только для вашего аккаунта на тарифах Enterprise. Edge-серверы также могут проверять сертификат вашего источника.

Сценарии использования

Компания держит источник доступным из интернета, но хочет, чтобы он отвечал только на запросы, приходящие через её собственный аккаунт CDN.com.tr, и не вела список адресов edge-серверов.

Порядок действий

  1. Убедитесь, что источник отвечает по HTTPS на отдельном порту: на странице Источник HTTPS-порт должен отличаться от HTTP-порта.
  2. На странице Источник откройте Аутентифицированное подключение к источнику (mTLS) и выберите Сертификат CDN.com.tr (платные тарифы) или Сертификат только для этого аккаунта (Enterprise). Сохраните.
  3. Для сертификата аккаунта дождитесь, пока карточка перестанет сообщать об установке: сертификат сначала размещается на всех edge-серверах вашего аккаунта, затем включается сам.
  4. Скачайте пакет CA (cdn-com-tr-origin-pull-ca.pem) из карточки и настройте веб-сервер так, чтобы он требовал клиентский сертификат, подписанный этим центром, и принимал только имя, указанное в поле Принимаемое имя (CN): ID вашего аккаунта для сертификата аккаунта, origin-pull.cdn.com.tr для сертификата CDN.com.tr.
  5. При желании включите Проверять сертификат источника: тогда edge-сервер принимает только сертификат, действительный для имени хоста вашего источника (для источника с IP-адресом это введённое вами имя) и выданный публичным центром или вашим собственным (вставьте его сертификат).

Проверки

  • Пока опция включена, edge-серверы подключаются к вашему источнику по HTTPS, в том числе для HTTP-посетителей, через HTTPS-порт источника.
  • Сертификат CDN.com.tr доказывает, что запрос пришёл от CDN.com.tr, но не что он пришёл из вашего аккаунта: используйте вместе с ним секретный заголовок (например, X-CDN-Auth). Сертификат аккаунта (CN = ID вашего аккаунта) выпускается только для вашего аккаунта.
  • Закрепляйте имя (CN), а не отпечаток сертификата: сертификаты автоматически обновляются до истечения срока, имя остаётся прежним.
  • Оптимизация изображений продолжает работать: наши серверы оптимизации предъявляют тот же сертификат, когда забирают ваши оригиналы.
  • Если источник требует сертификат, а его нет, nginx отвечает 400; Apache, Caddy и IIS разрывают соединение, и посетитель видит ошибку 502. Включайте требование только после того, как edge-серверы начнут предъявлять сертификат.
  • При включённой проверке просроченный сертификат, самоподписанный сертификат без вашего центра или сертификат, выданный на другое имя, приводит к ошибке 502.

Часто задаваемые вопросы

Как потребовать сертификат в nginx?

В блоке server, который обслуживает CDN: ssl_client_certificate /etc/nginx/cdn-com-tr-origin-pull-ca.pem;, ssl_verify_client on;, ssl_verify_depth 2; и if ($ssl_client_s_dn !~ "(^|,)CN=<id-аккаунта>(,|$)") { return 403; }. Для сертификата CDN.com.tr впишите origin-pull\.cdn\.com\.tr вместо <id-аккаунта> и сохраните проверку X-CDN-Auth.

Как потребовать его в Apache?

В виртуальном хосте HTTPS: SSLCACertificateFile /etc/ssl/cdn-com-tr-origin-pull-ca.pem, SSLVerifyClient require, SSLVerifyDepth 2; затем внутри <Location "/"> строка Require expr %{SSL_CLIENT_S_DN_CN} == "<id-аккаунта>".

Как потребовать его в Caddy?

В блоке вашего сайта: tls { client_auth { mode require_and_verify trust_pool file /etc/caddy/cdn-com-tr-origin-pull-ca.pem } }, затем @notcdn not expression {http.request.tls.client.subject}.matches("(^|,)CN=<id-аккаунта>(,|$)") и respond @notcdn 403. Для trust_pool file нужен Caddy 2.8 или новее.

Как потребовать его в IIS?

Импортируйте пакет CA в хранилища «Доверенные корневые центры сертификации» (корневой) и «Промежуточные центры сертификации» (промежуточный) локального компьютера. В разделе Параметры SSL сайта установите флажок Требовать SSL и выберите для Сертификаты клиентов значение Требовать. Затем в Редакторе конфигурации в разделе system.webServer/security/authentication/iisClientCertificateMappingAuthentication включите проверку и добавьте сопоставление «один ко многим» с правилом: certificateField Subject, certificateSubField CN, matchCriteria <id-аккаунта>.

Нужен ли мне по-прежнему секретный заголовок?

С сертификатом CDN.com.tr нужен: все аккаунты CDN.com.tr предъявляют один и тот же сертификат, а заголовок отличает ваши запросы. С сертификатом аккаунта проверка CN уже принимает только ваш аккаунт; заголовок можно оставить, вреда от него нет.

Что происходит при обновлении сертификата?

С вашей стороны ничего. Сертификаты обновляются на наших edge-серверах до истечения срока, в том же центре и с тем же именем, поэтому проверка по имени (CN) продолжает проходить.

Похожие страницы

Управление DNS-записями

Добавляйте, обновляйте, удаляйте, импортируйте, экспортируйте и переносите подходящие записи в облачный DNS.

HTTP/3 и IPv6 на edge

С сентября 2026 года edge CDN.com.tr обслуживает каждый hostname по HTTP/3 (QUIC) и IPv6 в дополнение к HTTP/2 и IPv4. Браузеры переключаются сами; настройки на уровне аккаунта нет, а ваш origin может оставаться только на IPv4.

Подключение к источнику: реальный IP посетителя, закрытие доступа к источнику, WebSocket и тайм-ауты

Edge-серверы передают IP-адрес посетителя в заголовке X-CDN-Client-IP. Открывайте доступ к источнику только для CDN с помощью секретного заголовка, который вы добавляете в каждое правило. Настраивайте WebSocket и долгие запросы для каждого правила отдельно.