30 вересня 2026 р. · 6 хв читання

Як використовувати власний домен для посилань на файли в бакеті

Посилання на кшталт https://files.example.com/report.pdf викликає довіру, переживе зміну провайдера сховища й не розкриває назву бакета. Кожен великий провайдер уміє віддавати бакет на вашому домені з HTTPS, але кожен робить це по-своєму.

Cloudflare R2

Найпростіший варіант. Домен має бути зоною в тому самому обліковому записі Cloudflare, що й бакет.

  1. Відкрийте Settings бакета й виберіть Add у розділі Custom Domains.
  2. Введіть files.example.com, перевірте DNS-запис і виберіть Connect Domain.

Cloudflare сам створить DNS-запис і сертифікат. Подробиці в статті як зробити бакет R2 публічним.

Amazon S3 із CloudFront

S3 сам не вміє віддавати HTTPS на власному домені, тож перед ним ставлять CloudFront:

  1. Запитайте сертифікат для files.example.com в AWS Certificate Manager у регіоні us-east-1 (CloudFront використовує сертифікати лише звідти) і підтвердьте його через DNS.
  2. Створіть дистрибуцію CloudFront із бакетом як джерелом і Origin access control, щоб бакет міг лишатися приватним. Застосуйте політику бакета, яку запропонує CloudFront.
  3. Додайте files.example.com як alternate domain name і виберіть сертифікат.
  4. У свого DNS-провайдера створіть CNAME з files на адресу дистрибуції d….cloudfront.net.

Кінцева точка статичного вебсайту S3 теж приймає CNAME, але лише через звичайний HTTP і лише тоді, коли бакет названо точно так само, як домен, тож CloudFront - кращий шлях.

DigitalOcean Spaces

Увімкніть CDN для Space і додайте в його налаштуваннях custom subdomain. Якщо DNS вашого домену керує DigitalOcean, він може автоматично випустити сертифікат Let's Encrypt; інакше вивантажте власний сертифікат. Після цього файли віддаються з https://files.example.com/key.

Backblaze B2

B2 віддає публічні файли за URL-адресою на кшталт https://f003.backblazeb2.com/file/your-bucket/key. Щоб використати власний домен, зазвичай вдаються до Cloudflare: додайте проксійований CNAME з files.example.com на хост f00X.backblazeb2.com вашого бакета, а потім правило перезапису, яке додає /file/your-bucket на початок шляху. Backblaze документує таке налаштування й не бере плати за завантаження для трафіку, що йде через Cloudflare.

Коли домен запрацює

  • Відкрийте файл за адресою https://files.example.com/<key> у приватному вікні браузера, щоб переконатися, що він публічний.
  • Використовуйте домен як базову URL-адресу всюди, де формуєте посилання, щоб кожне посилання, яким ви ділитеся, вказувало на нього.
  • Вивантажуйте, як і раніше, через кінцеву точку API провайдера. Власний домен потрібен лише для читання.

Поширені запитання

Чи можна використати кореневий домен замість піддомену?

У Cloudflare R2 зазвичай так, бо він уміє підключати домен верхнього рівня. Більшість інших налаштувань спирається на CNAME, а з ним простіше працювати на піддомені, як-от files.example.com.

Чи зламаються старі посилання, якщо додати власний домен?

Ні. Початкова адреса провайдера й далі працює поряд із власним доменом. Новий домен використовуватимуть лише посилання, створені після цього.

Чи можна перейти до іншого провайдера й зберегти посилання?

Так, і це одна з найвагоміших причин мати власний домен. Скопіюйте файли в новий бакет із тими самими ключами, спрямуйте на нього домен, і наявні посилання продовжать працювати.