← Правила Cloudflare / rules / cloud-connector / examples
Маршрутизация /images в бакет S3
Чтобы направить запросы в /images на вашем домене в бакет AWS S3:
-
На панели управления Cloudflare перейдите к разделу Cloud Connector страницу.
Перейдите в Cloud Connector ↗ -
Выберите Amazon S3 как ваш облачный провайдер.
-
Введите URL бакета. Структуру URL можно задать двумя способами:
- URL в формате поддомена: Задайте имя хоста равным
<BUCKET_NAME>.s3.amazonaws.com. В этом случае ваши файлы должны быть организованы в корне бакета, то есть путь URI будет напрямую соответствовать файлу. Например,https://<YOUR_HOSTNAME>/images/file.jpgбудет сопоставлен сhttps://<BUCKET_NAME>.s3.amazonaws.com/images/file.jpg. - URL-адрес в формате пути URI: Задайте имя хоста равным
s3.amazonaws.com. В этом случае ваш бакет должен содержать папку с именемimages, и файлы должны находиться внутри этой папки. В этом случае путь URI будет включать имя бакета, напримерhttps://<YOUR_HOSTNAME>/<BUCKET_NAME>/images/file.jpgсопоставляется сhttps://s3.amazonaws.com/<BUCKET_NAME>/images/file.jpg.
- URL в формате поддомена: Задайте имя хоста равным
-
(Необязательно) Используйте URL Rewrite Rules чтобы изменить структуру URL. Например, можно создать перезапись URL которое изменяет
/imagesк/<BUCKET_NAME>/imagesдля соответствия структуре URL в стиле пути URI. -
(Необязательно) Используйте Cache Rules чтобы изменить поведение кеширования объектов, возвращаемых из бакета. Например, можно создать правило кеширования которое кэширует каждый возвращённый объект, соответствующий
/images/*путь URI на семь дней:- Если входящие запросы соответствуют > Custom filter expression:
(starts_with(http.request.uri.path, "/images/")) - Допустимость кеширования: имеет право на кэширование
- Edge TTL > Ignore cache-control header and use this TTL: 7 дней
- Если входящие запросы соответствуют > Custom filter expression:
-
Выберите Далее и введите понятное имя, например
Route images to S3в Название Cloud Connector. -
В разделе Если, выберите Настраиваемое выражение фильтра и введите следующее выражение:
http.request.full_uri wildcard "http*://<YOUR_HOSTNAME>/images/*"
Замените<YOUR_HOSTNAME>на нужное имя хоста. -
Выберите Развернуть чтобы включить правило.
Эта настройка направит весь трафик, соответствующий http*://<YOUR_HOSTNAME>/images/* (HTTPS и HTTP запросы) в ваш S3 bucket. Обязательно замените <YOUR_HOSTNAME> на фактическое имя хоста и скорректируйте примеры путей в соответствии с вашей настройкой.