# Настройка BackBlaze S3 с BunnyCDN

**URL:** https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135
**Category:** Sysadmins
**Tags:** how-to
**Created:** [29.Июль.2020 03:33:57 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135 "2020-07-29T03:33:57Z")
**Posts on this page:** 15
**Page:** 2

<div class="post-metadata">

### Author: ![AntiMetaman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/antimetaman/32/186978_2.png) [@AntiMetaman](https://meta.discourse.org/u/AntiMetaman)
#### Post date: [04.Сентябрь.2020 22:52:33 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135/23 "2020-09-04T22:52:33Z")

</div>

Итак, я проверил BunnyCDN. Могу подтвердить, что резервные копии не проходили через CDN: трафик составил 0 КБ. URL CDN хоста отличается от URL загрузки, поэтому, похоже, Discourse его не использует. Однако я могу подтвердить, что резервные копии загружаются из Discourse в Backblaze B2.

---

<div class="post-metadata">

### Author: ![paulrudy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paulrudy/32/259901_2.png) [@paulrudy](https://meta.discourse.org/u/paulrudy)
#### Post date: [04.Сентябрь.2020 23:24:58 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135/24 "2020-09-04T23:24:58Z")

</div>

Ах, отлично, спасибо за проверку. Это подтверждает мои подозрения. Возможно, @Bill должен обновить руководство OP?

---

<div class="post-metadata">

### Author: ![Bill](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bill/32/159342_2.png) [@Bill](https://meta.discourse.org/u/Bill)
#### Post date: [06.Сентябрь.2020 19:48:42 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135/25 "2020-09-06T19:48:42Z")

</div>

Конечно! Не уверен, как это сформулировать. Может, просто указать, что нужна только одна зона выгрузки, а CDN не имеет доступа к приватному бакету?

---

<div class="post-metadata">

### Author: ![paulrudy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paulrudy/32/259901_2.png) [@paulrudy](https://meta.discourse.org/u/paulrudy)
#### Post date: [06.Сентябрь.2020 20:06:46 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135/26 "2020-09-06T20:06:46Z")

</div>

> [@Bill](#):
>
> что вам нужна только одна зона вытягивания и CDN не может получить доступ к приватному бакету?

Я бы удалил всё от «На вашей панели управления BunnyCDN вы должны создать вторую зону вытягивания» до абзаца, заканчивающегося фразой «стандартный уровень 10$/ТБ», которую я использовал для своего бакета загрузки.

Также, похоже, что вам _действительно_ нужна вторая зона вытягивания CDN, но не для резервного копирования. Я запутался в этом и не мог настроить загрузку на удалённый сервер, пока не правильно настроил одну зону вытягивания для отправки загрузок в BackBlaze (как вы описали) и вторую зону вытягивания для извлечения ресурсов _из_ BackBlaze. См. [мой вопрос об этом и полученный мной ответ здесь](https://meta.discourse.org/t/using-object-storage-for-uploads-s3-clones/148916/143?u=paulrudy) для получения дополнительной информации.

---

<div class="post-metadata">

### Author: ![Bill](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bill/32/159342_2.png) [@Bill](https://meta.discourse.org/u/Bill)
#### Post date: [06.Сентябрь.2020 20:29:31 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135/27 "2020-09-06T20:29:31Z")

</div>

Похоже, у меня больше нет прав на редактирование оригинальной темы в Discourse — возможно, они истекли по истечении определённого времени или я редактировал её слишком много раз. Я не могу попасть в область редактирования.

---

<div class="post-metadata">

### Author: ![paulrudy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paulrudy/32/259901_2.png) [@paulrudy](https://meta.discourse.org/u/paulrudy)
#### Post date: [06.Сентябрь.2020 20:34:21 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135/28 "2020-09-06T20:34:21Z")

</div>

Ах, хорошо. Я полагаю, вам нужно будет спросить модератора. В любом случае, даже несмотря на сбой, я благодарен за вашу инструкцию!

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [06.Сентябрь.2020 23:47:07 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135/29 "2020-09-06T23:47:07Z")

</div>

Первый пост теперь является вики-страницой (так было, когда я его проверял, не уверен, успел ли кто-то до меня), поэтому любой пользователь с уровнем TL1 или выше может его редактировать.

---

<div class="post-metadata">

### Author: ![Fabrice](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fabrice/32/265087_2.png) [@Fabrice](https://meta.discourse.org/u/Fabrice)
#### Post date: [25.Август.2022 08:50:29 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135/30 "2022-08-25T08:50:29Z")

</div>

Привет! Просто хотел сообщить, что Bunny теперь также в партнёрстве с Backblaze! Теперь передача данных из Backblaze в Bunny полностью бесплатна. Так что, помимо повышенной безопасности, вы можете просто перенести данные в Bunny, не проходя через Cloudflare!

---

<div class="post-metadata">

### Author: ![jord8on](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jord8on/32/166809_2.png) [@jord8on](https://meta.discourse.org/u/jord8on)
#### Post date: [25.Июнь.2023 11:15:56 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135/32 "2023-06-25T11:15:56Z")

</div>

> [@Bill](#):
>
> **Настройка CDN Cloudflare**  
> Этот шаг является необязательным, так как у Backblaze появилось партнёрство, делающее передачу данных в Bunny бесплатной. Однако для дополнительной безопасности и других функций вы можете сначала направлять данные через Cloudflare, а затем заставить Bunny извлекать их из места, куда их помещает Cloudflare.
> 
> [https://help.backblaze.com/hc/en-us/articles/217666928-Using-Backblaze-B2-with-the-Cloudflare-CDN](https://help.backblaze.com/hc/en-us/articles/217666928-Using-Backblaze-B2-with-the-Cloudflare-CDN)

Является ли этот шаг излишним? Возможно, более правильный вопрос звучит так… насколько значительны преимущества от этого дополнительного шага, если у вас уже настроено хранилище Backblaze и CDN Bunny? Любые комментарии по этому поводу были бы для меня очень полезны. 🙏

---

<div class="post-metadata">

### Author: ![becl](https://avatars.discourse-cdn.com/v4/letter/b/b9bd4f/32.png) [@becl](https://meta.discourse.org/u/becl)
#### Post date: [16.Апрель.2025 22:14:21 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135/33 "2025-04-16T22:14:21Z")

</div>

Мне нужна помощь. Последние два дня я ушел в кроличью нору (простите за каламбур про кролика), пытаясь настроить отправку резервных копий и изображений в Backblaze.

Я использовал эту тему на форуме и другие материалы, чтобы попытаться настроить это. Теперь при создании резервных копий я постоянно получаю сообщение об ошибке (хотя загрузка файлов всё ещё не работает, но сначала нужно разобраться с резервными копиями).

Я создал бакеты в Backblaze, ключи доступа и pull-зоны.

Вот настройки в разделе «Все настройки сайта» для S3:

 ![The image is a screenshot of server management settings for uploading files to Amazon S3, including options for employing a custom S3 upload bucket, setting an S3 CDN URL, enabling automatic deletion policies, recommending the use of ACLs, and preventing cleanup of backup files. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/2/c/5/2c5b28355aaa3547c1ca2e8272c2ed8b6613f562.png)

Вот настройки в разделе «Настройки резервного копирования»:

 ![The image shows the settings for maximum backups and automatic backup configurations for a forum, with options to include uploads and thumbnails in backups. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/d/1/d/d1d4a3ab0e82ee3929e4a4c94ec77cf02632bcbd.png)

Вот мой файл app.yml — второй раздел, закомментированный, я возился с ним вчера, но из-за этого Discourse зависал на экране загрузки.

 ![The image displays multiple lines of redacted configuration settings for a cloud storage service, with various fields related to S3 access, backups, and uploads. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/c/e/0/ce0eb804564e19025c5413f5f2af70e3e9ef90b1.png)

При запуске резервного копирования я вижу этот экран, полагаю, потому что у меня ещё не работает загрузка файлов. Возможно, это не имеет значения, но я решил добавить это.

 ![The image is a popup message asking if the user wants to start a database backup, noting that it will not include file uploads and no image uploads are included, with a guide available for full backups. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/d/6/b/d6bb42e06411f7da3afa95b9d9a9d25ed40094e8.png)

Вот журнал ошибок резервного копирования:

 ![The image displays a terminal log showing the process of archiving and uploading data to an AWS S3 bucket, interspersed with an exception message indicating an invalid DNS name related to the AWS SDK S3 plugin. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/6/8/c/68c8c941995d193ada817f8ce702bda37763e700.png)

А вот журнал ошибок:

 ![The image shows error messages and warnings related to missing header files, unsupported DNS names, missing gem files, and file resolution issues in a Ruby system. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/a/8/0/a80d5c89bd48f487fdbfc6ee0ddb9d7f49a68466.png)

Также хочу упомянуть, что я запускал задачи Rake с помощью:

```plaintext
rake uploads:migrate_to_s3
rake posts:rebake

```

У меня уже круги перед глазами после двух дней попыток заставить это работать. Не мог бы кто-нибудь помочь понять, где я ошибаюсь? Надеюсь, я предоставил всё необходимое для диагностики проблемы. 😫

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [16.Апрель.2025 23:17:22 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135/34 "2025-04-16T23:17:22Z")

</div>

> [@becl](#):
>
> Это настройки в разделе «Все настройки сайта» для S3.

Если настройки указаны в вашем файле yml, они не будут отображаться в настройках системы.

Рекомендую следовать руководству [Настройка провайдера объектного хранилища, совместимого с S3, для загрузки файлов](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916).

---

<div class="post-metadata">

### Author: ![becl](https://avatars.discourse-cdn.com/v4/letter/b/b9bd4f/32.png) [@becl](https://meta.discourse.org/u/becl)
#### Post date: [16.Апрель.2025 23:52:14 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135/35 "2025-04-16T23:52:14Z")

</div>

Привет, спасибо за ответ. Я пробовал эту ссылку вчера, но она не сработала. Из-за неё сайт перестал загружаться.

Самое большее, чего я смог добиться, — это текущие настройки, которые у меня есть. Хотя, похоже, возникает ошибка из-за недопустимого региона, и я не уверен, какое именно настройку нужно изменить.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [17.Апрель.2025 00:14:31 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135/36 "2025-04-17T00:14:31Z")

</div>

> [@becl](#):
>
> Это привело к тому, что сайт перестал загружаться.

Это потому, что вы пропустили часть вверху, которая загружает ресурсы на S3.

---

<div class="post-metadata">

### Author: ![becl](https://avatars.discourse-cdn.com/v4/letter/b/b9bd4f/32.png) [@becl](https://meta.discourse.org/u/becl)
#### Post date: [17.Апрель.2025 01:59:12 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135/37 "2025-04-17T01:59:12Z")

</div>

Я добавил код с хуками и снова использовал конфигурацию из ссылки, которую вы опубликовали. Снова зависание.

Я снова закомментировал эту конфигурацию и вернул ту, которую использовал ранее. Я заметил, что мой параметр региона S3 содержал полный URL, поэтому я изменил его на ‘us-west-002’.

Теперь при запуске резервного копирования оно завершается ошибкой, и я получаю другое сообщение об ошибке: EXCEPTION: Unsupported header ‘x-amz-checksum-crc32’ received for this API call.

Кажется, я сдамся и просто буду вручную скачивать резервные копии каждый день.

---

<div class="post-metadata">

### Author: ![becl](https://avatars.discourse-cdn.com/v4/letter/b/b9bd4f/32.png) [@becl](https://meta.discourse.org/u/becl)
#### Post date: [17.Апрель.2025 22:47:28 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135/38 "2025-04-17T22:47:28Z")

</div>

Я продолжал пытаться заставить это работать, рискуя потерять рассудок 😉

Последнюю ошибку контрольной суммы, которую я получил, я исправил с помощью этого решения: [Can't rebuild due to AWS SDK gem bump and new AWS Data Integrity Protections - #28 by PatPatterson](https://meta.discourse.org/t/cant-rebuild-due-to-aws-sdk-gem-bump-and-new-aws-data-integrity-protections/354217/28)

Для этого я добавил следующее в секцию env в файле app.yml:

```plaintext
AWS_REQUEST_CHECKSUM_CALCULATION: WHEN_REQUIRED
AWS_RESPONSE_CHECKSUM_VALIDATION: WHEN_REQUIRED

```

А также закомментировал следующее в секции hooks файла app.yml:

```plaintext
after_assets_precompile:
    - exec:
        cd: $home
        cmd:
          - sudo -E -u discourse bundle exec rake s3:upload_assets
  # - sudo -E -u discourse bundle exec rake s3:expire_missing_assets

```

Остальные настройки env установлены следующим образом:

```plaintext
DISCOURSE_S3_ACCESS_KEY_ID: 'key'
DISCOURSE_S3_SECRET_ACCESS_KEY: 'key'
DISCOURSE_BACKUP_LOCATION: 's3'
DISCOURSE_ENABLE_S3_UPLOADS: true
DISCOURSE_S3_BACKUP_BUCKET: 'backupbucketonbackblaze'
DISCOURSE_S3_REGION: 'us-west-002'
DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true

```

Я сделал резервную копию до включения параметра `DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true`.

И получил успешную резервную копию в Backblaze. УРА!!!

Когда я добавил строку в app.yml для включения загрузки файлов, резервное копирование завершилось ошибкой, которая выглядит так:

```plaintext
EXCEPTION: tar --append --file /var/www/discourse/public/backups/default/my-server-name-2025-04-17-222758-v20250417043438.tar uploads/default
Failed to append uploads to archive.
tar: uploads/default: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors

```

Я не понимаю, где должна находиться эта директория и как это исправить. Нужно ли создать эту директорию на сервере Discourse или в Backblaze? Или я упустил какую-то настройку в параметрах сайта или в файле app.yml?

Буду очень признателен за любую помощь.

[Предыдущая страница](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135.md?page=1)
