← Правила Cloudflare / rules / cloud-connector
Поддерживаемые облачные провайдеры в Cloud Connector
На данный момент Cloud Connector поддерживает следующих облачных провайдеров и сервисы:
- Cloudflare R2
- Amazon Web Services - S3
- Google Cloud Platform - Cloud Storage
- Microsoft Azure - Blob Storage
- Oracle Cloud - Object Storage
Cloudflare R2
Бакет Cloudflare R2 должен быть общедоступным и доступный через пользовательский домен. Бакеты, открытые с помощью r2.dev поддомена не поддерживаются.
Кроме того, пользовательский домен должен быть определён в той же зоне, где вы настраиваете правило Cloud Connector.
Amazon Web Services - S3
Имя хоста в URL бакета S3 должно иметь один из следующих форматов (где * является подстановочным символом):
*s3.amazonaws.com*s3.<REGION>.amazonaws.com*s3-website.<REGION>.amazonaws.com*s3-website-<REGION>.amazonaws.com
Cloud Connector поддерживает URL-адреса как в формате субдомена, так и в формате пути URI:
- URL-адреса в формате поддомена: Задайте имя хоста равным
<BUCKET_NAME>.s3.amazonaws.com. В этом случае ваши файлы доступны непосредственно в корне бакета. Например,https://example.com/index.htmlбудет сопоставлен сhttps://<BUCKET_NAME>.s3.amazonaws.com/index.html. При использовании Full (Strict) режим SSL/TLS,<BUCKET_NAME>не может содержать точки (используйте дефисы). См. SSL-соединения с конечными точками AWS S3 для получения подробностей. - URL-адреса в формате пути URI: Задайте имя хоста равным
s3.amazonaws.com. В этом случае имя бакета должно быть частью пути URI в ваших запросах. Например, если имя вашего бакета<BUCKET_NAME>, файлы будут доступны по путям видаhttps://example.com/<BUCKET_NAME>/index.html, и ваше правило Cloud Connector должно фильтровать трафик по пути URI, начинающемуся с/<BUCKET_NAME>.
SSL-соединения с конечными точками AWS S3
Настройка SSL, применяемая к запросам между Cloud Connector и AWS S3, зависит от используемого типа конечной точки S3:
- Конечные точки с поддержкой HTTPS: Для имён хостов, таких как
*s3.<REGION>.amazonaws.comи*s3.amazonaws.com, Cloudflare будет подключаться к AWS S3 по HTTPS, если для вашей зоны установлен режим SSL/TLS Full или Full (Strict). При использовании Full (Strict), имя бакета не может содержать точки (используйте вместо них дефисы). - Конечные точки без HTTPS: Для имён хостов в формате веб-сайта, таких как
*s3-website.<REGION>.amazonaws.comили*s3-website-<REGION>.amazonaws.com, которые не поддерживают HTTPS, Cloudflare по умолчанию использует Flexible SSL.
Получение URL-адреса бакета
- Перейдите в Консоль Amazon S3 ↗ и выберите Buckets в панели навигации.
- Выберите имя бакета.
- Перейдите в Свойства на вкладке.
- Выберите Static Website Hosting карточка. Конечная точка поле показывает URL вашего бакета.
Дополнительные сведения см. в Документация Amazon S3 ↗.
После настройки Cloud Connector с публичным бакетом вашего провайдера хранилища вы можете захотеть ограничить доступ к объектам в этом бакете только для Cloudflare. Для этого обратитесь к документации провайдера и узнайте, как создать политику, разрешающую входящие запросы только от IP-адреса Cloudflare ↗.
Google Cloud Platform - Cloud Storage
Имя хоста в URL бакета Cloud Storage должно быть следующим (где * является подстановочным символом):
*storage.googleapis.com*storage.cloud.google.com
Cloud Connector поддерживает URL-адреса как в формате субдомена, так и в формате пути URI:
- URL-адреса в формате поддомена: Задайте имя хоста равным
<BUCKET_NAME>.storage.googleapis.com. В этом случае ваши файлы доступны непосредственно в корне бакета. Например,https://example.com/index.htmlбудет сопоставлен сhttps://<BUCKET_NAME>.storage.googleapis.com/index.html. - URL-адреса в формате пути URI: Задайте имя хоста равным
storage.googleapis.com. В этом случае имя бакета должно быть частью пути URI в ваших запросах. Например, если имя вашего бакета<BUCKET_NAME>, файлы будут доступны по путям видаhttps://example.com/<BUCKET_NAME>/index.html, и ваше правило Cloud Connector должно фильтровать трафик по пути URI, начинающемуся с/<BUCKET_NAME>.
Получение URL-адреса бакета
-
Перейдите в Google Cloud console ↗ и выберите Buckets.
-
Выберите имя бакета.
-
Для одного из файлов, уже находящихся в бакете, нажмите значок ссылки в Общедоступный столбец, чтобы скопировать публичный URL файла в буфер обмена. URL файла будет иметь следующий формат:
https://storage.googleapis.com/<BUCKET_NAME>/<OBJECT_NAME>Чтобы получить URL-адрес бакета поддомена, преобразуйте URL-адрес файла в
<BUCKET_NAME>.storage.googleapis.comформате.
Чтобы получить bucket URL для URI path, удалитеhttps://и/<BUCKET_NAME>/<OBJECT_NAME>из URL файла.
Если файлы в вашем бакете недоступны публично, необходимо изменить права доступа к бакету. Подробнее см. в документация Google Cloud Storage ↗.
После настройки Cloud Connector с публичным бакетом вашего провайдера хранилища вы можете захотеть ограничить доступ к объектам в этом бакете только для Cloudflare. Для этого обратитесь к документации провайдера и узнайте, как создать политику, разрешающую входящие запросы только от IP-адреса Cloudflare ↗.
Microsoft Azure - Blob Storage
Имя хоста в URL бакета Blob Storage должно иметь один из следующих форматов:
<BUCKET_NAME>.blob.core.windows.net<BUCKET_NAME>.web.core.windows.net
Для Azure Blog Storage Cloud Connector поддерживает только URL-адреса поддоменов, например <BUCKET_NAME>.blob.core.windows.net. Это означает, что ваши файлы будут доступны непосредственно в корне бакета. Например, https://example.com/index.html будет сопоставлен с https://<BUCKET_NAME>.blob.core.windows.net/index.html.
Получение URL-адреса бакета
- Перейдите в портал Azure ↗ и выберите учётную запись хранилища.
- На панели меню в разделе Настройки, выберите Конечные точки.
- Получите URL-адрес бакета в Blob service конечную точку или Статический сайт конечная точка.
Если blob-контейнер не настроен для публичного доступа, необходимо изменить настройки контейнера. Подробнее см. в документация Azure Storage ↗.
После настройки Cloud Connector с публичным бакетом вашего провайдера хранилища вы можете захотеть ограничить доступ к объектам в этом бакете только для Cloudflare. Для этого обратитесь к документации провайдера и узнайте, как создать политику, разрешающую входящие запросы только от IP-адреса Cloudflare ↗.
Oracle Cloud Infrastructure Object Storage
Cloud Connector поддерживает Oracle Cloud Infrastructure (OCI) Object Storage через Amazon S3 Compatibility API.
Введите имя хоста OCI без протокола, порта или пути. Cloud Connector принимает следующие форматы:
| Стиль адресации | Формат имени хоста | Путь запроса |
|---|---|---|
| Стиль пути (традиционный) | <NAMESPACE>.compat.objectstorage.<REGION>.oraclecloud.com |
/<BUCKET_NAME>/<OBJECT_NAME> |
| Стиль пути (выделенный) | <NAMESPACE>.compat.objectstorage.<REGION>.oci.customer-oci.com |
/<BUCKET_NAME>/<OBJECT_NAME> |
| Virtual-hosted style | <BUCKET_NAME>.vhcompat.objectstorage.<REGION>.oci.customer-oci.com |
/<OBJECT_NAME> |
Для конечных точек в формате path-style укажите имя бакета в пути входящего запроса. Например, https://example.com/<BUCKET_NAME>/index.html сопоставляется с тем же путём на конечной точке OCI.
Для конечных точек в формате virtual-hosted имя бакета входит в состав имени хоста. Входящий запрос к https://example.com/index.html сопоставляется с /index.html для этого бакета. OCI требует, чтобы имена бакетов в виртуальном хостинге использовали региональную область видимости и DNS-совместимое имя, уникальное в пределах региона.
Подробнее см. в Object Storage Dedicated Endpoints ↗, Поддержка стиля адресации Hosted Style в Amazon S3 Compatibility API в Object Storage ↗, а также Изменение видимости бакета объектного хранилища ↗.
После настройки Cloud Connector с публичным бакетом вашего провайдера хранилища вы можете захотеть ограничить доступ к объектам в этом бакете только для Cloudflare. Для этого обратитесь к документации провайдера и узнайте, как создать политику, разрешающую входящие запросы только от IP-адреса Cloudflare ↗.