# S3（Cloudflare R2）へのアップロードができません

**URL:** https://meta.discourse.org/t/cant-upload-to-s3-cloudflare-r2/405754
**Category:** Support
**Tags:** s3
**Created:** [2026 年 6 月 21 日午前 5:11 UTC](https://meta.discourse.org/t/cant-upload-to-s3-cloudflare-r2/405754 "2026-06-21T05:11:27Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![darkpixlz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/darkpixlz/32/549896_2.png) [@darkpixlz](https://meta.discourse.org/u/darkpixlz)
#### Post date: [2026 年 6 月 21 日午前 5:11 UTC](https://meta.discourse.org/t/cant-upload-to-s3-cloudflare-r2/405754/1 "2026-06-21T05:11:27Z")

</div>

サイト上で R2 のセットアップをいくつかのガイドに従って行っていたのですが、ファイルをアップロードしようとすると、ただ「申し訳ありませんが、アップロードに失敗しました。もう一度お試しください。」という一般的なメッセージが表示されるだけです。ログには以下の内容しか表示されません：

 ![image](https://global.discourse-cdn.com/meta/original/4X/4/b/b/4bbf0dc5208a93ab4c0996c09188212fadfc3758.png)

app.yml ファイルに URL を設定しました。なぜなら、ウェブ UI がガイドの投稿に記載されている形式の URL を「無効な形式」として拒否していたからです：

![image](https://global.discourse-cdn.com/meta/original/4X/5/5/8/5586fa2e911145dbbc1ff271b7e35aed62303141.png)

CDN\_URL は Cloudflare で設定したカスタムドメインであり、S3\_ENDPOINT はウェブパネルに表示されている URL です。正しく生成された認証トークンを含め、すべてのオプションを適切に設定しています：

 ![image](https://global.discourse-cdn.com/meta/original/4X/2/9/f/29f4df7026f1f70588f7f4a5eccfb0bc7ad5711b.png)

Cloudflare 側ではいくつかのリクエストが検出されているようですが、何も保存されていないようです。

 ![image](https://global.discourse-cdn.com/meta/original/4X/e/1/9/e1980f3c4fc63aad01e6d5dea30c9627c59255fa.png)

何が問題なのでしょうか？

---

<div class="post-metadata">

### Author: ![David\_Ghost](https://avatars.discourse-cdn.com/v4/letter/d/c37758/32.png) [@David\_Ghost](https://meta.discourse.org/u/David_Ghost)
#### Post date: [2026 年 6 月 21 日午前 9:56 UTC](https://meta.discourse.org/t/cant-upload-to-s3-cloudflare-r2/405754/2 "2026-06-21T09:56:59Z")

</div>

ねえ、

S3 CDN URL と S3 エンドポイントの末尾のスラッシュ（/）が原因ではないのでしょうか？

---

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [2026 年 6 月 21 日午後 3:08 UTC](https://meta.discourse.org/t/cant-upload-to-s3-cloudflare-r2/405754/3 "2026-06-21T15:08:39Z")

</div>

これらはあなたが参考にしたガイドですか？アップロード用バケットの名前は「discourse」で間違いないですか？

> [@アップロード用のS3互換オブジェクトストレージプロバイダーの設定](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916#p-738234-cloudflare-r2-13):
>
> information_source このトピックでは、一般的な S3 互換オブジェクトストレージプロバイダー（S3 のクローン）の設定方法について説明します。Amazon AWS S3 の設定の詳細については、Discourse が公式にサポートしており、ホスティングサービス内部でも使用されている以下のページを参照してください：[Set up file and image uploads to S3](https://meta.discourse.org/t/setting-up-file-and-image-uploads-to-s3/7229) プロバイダー サービス名 Discourse と互換性あり？ [Amazon AWS](#aws-s3-2) S3 はい [Digital Ocean](#digital-ocean-spaces-3) Spaces はい [Linode](#linode-object-storage-4) Object Storage はい [Google Cloud](#google-cloud-platform-storage-5) Storage はい [Scaleway](#scaleway-object-storage-6) Object Storage はい [Vultr](#vultr-object-storage-7) Object Storage はい [BackBlaze](#backblaze-b2-cloud-storage-8) Cloud Storage はい\* セルフホスト [MinIO](#minio-storage-server-9) はい [Azure Blob Storage](#azure-blob-storage-with-flexifyio-10)[Flexify.IO](https://flexify.io/) はい [Oracle Cloud](#oracle-cloud-12) Obj…

> [@CloudflareでDiscourseを使用する際のベストプラクティス](https://meta.discourse.org/t/using-discourse-with-cloudflare-best-practices/293405):
>
> Cloudflare を使用した Discourse の利用bookmark このガイドでは、セキュリティのベストプラクティスやトラブルシューティングのヒントを含め、Cloudflare と Discourse を設定して使用する方法について説明します。 person_raising_hand 必要なユーザーレベル: 管理者 information_source セルフホスト型インストールではコンソールへのアクセスが必要です 概要 Cloudflare は、CDN によるパフォーマンスの向上、DDoS 保護などの追加のセキュリティレイヤー、HTTPS サポートにより、Discourse インスタンスを強化できます。このガイドでは、セットアッププロセスと最適な構成のためのベストプラクティスについて説明します。 Discourse で Cloudflare を使用する理由 Discourse インスタンスで Cloudflare を使用すると、いくつかの重要な利点が得られます。 パフォーマンス: Cloudflare の CDN は、一般的なアセットへの世界中…

---

<div class="post-metadata">

### Author: ![darkpixlz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/darkpixlz/32/549896_2.png) [@darkpixlz](https://meta.discourse.org/u/darkpixlz)
#### Post date: [2026 年 6 月 21 日午後 11:42 UTC](https://meta.discourse.org/t/cant-upload-to-s3-cloudflare-r2/405754/4 "2026-06-21T23:42:14Z")

</div>

> [@Lilly](#):
>
> これらのガイドに従いましたか？

はい、最初のガイドに従いました。

> [@Lilly](#):
>
> アップロードバケットの名前が「discourse」であることは確実ですか？

はい、そうです。

 ![image](https://global.discourse-cdn.com/meta/original/4X/b/7/9/b7913a007595e8d9cd7f71e3a94a75eed9760111.png)

スラッシュを削除して試してみます。その後、結果を報告します。

---

<div class="post-metadata">

### Author: ![darkpixlz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/darkpixlz/32/549896_2.png) [@darkpixlz](https://meta.discourse.org/u/darkpixlz)
#### Post date: [2026 年 6 月 21 日午後 11:56 UTC](https://meta.discourse.org/t/cant-upload-to-s3-cloudflare-r2/405754/5 "2026-06-21T23:56:11Z")

</div>

末尾のスラッシュを削除しましたが、まだ解決しません。同じ `Unauthorized` エラーが表示されます。

トークンも正しく設定されています。

 ![image](https://global.discourse-cdn.com/meta/original/4X/b/f/a/bfa304bc5384d2d0e318c181f8cf1f77c700fa94.png)

---

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [2026 年 6 月 22 日午前 12:11 UTC](https://meta.discourse.org/t/cant-upload-to-s3-cloudflare-r2/405754/6 "2026-06-22T00:11:32Z")

</div>

Cloudflare R2 トークンに読み取り/書き込み権限が確実に付与され、CORS ポリシーが正しく設定されていますか？あなたのサーバー構成は少し独特のようです。Cloudflare のバケット権限と設定は、権限エラーが発生しないよう、正確に設定されている必要があります。

---

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [2026 年 6 月 22 日午前 12:26 UTC](https://meta.discourse.org/t/cant-upload-to-s3-cloudflare-r2/405754/7 "2026-06-22T00:26:03Z")

</div>

> [@darkpixlz](#):
>
> トークンも正しく設定されていますね。
> 
> ![image](https://global.discourse-cdn.com/meta/original/4X/b/f/a/bfa304bc5384d2d0e318c181f8cf1f77c700fa94.png)

間違ったタイプのトークンを作成してしまいましたね。現在は汎用 API トークンになっています。R2 バケット用のトークンを作成する必要があります。

 ![Screenshot 2026-06-21 at 5.26.37 PM](https://global.discourse-cdn.com/meta/original/4X/2/7/a/27a3c45144bff86c6c810eacbcdb72aa0590a594.png)

 ![Screenshot 2026-06-21 at 5.30.38 PM](https://global.discourse-cdn.com/meta/original/4X/6/6/9/6699872adc6325b60e7142b9ee382d696c255367.png)

1. Cloudflare ダッシュボードにアクセスし、左側のサイドバーにある `storage & databases`（ストレージ＆データベース）セクションから `R2 object storage`（R2 オブジェクトストレージ）を選択します。
2. R2 概要ページの右側にある `manage`（管理）（API トークン）をクリックします。
3. `create account API token`（アカウント API トークンの作成）をクリックします。
4. 適切なトークン名を入力し、権限を `object read & write`（オブジェクトの読み取りと書き込み）に設定してから `save`（保存）をクリックします。
5. `access key id`（アクセスキーID）と `secret access key`（シークレットアクセスキー）が出力されます。これらを Discourse の S3 設定に入力する必要があります。

また、末尾のスラッシュは削除する必要があります。Discourse がそれらを拒否する可能性があるためです。

---

<div class="post-metadata">

### Author: ![darkpixlz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/darkpixlz/32/549896_2.png) [@darkpixlz](https://meta.discourse.org/u/darkpixlz)
#### Post date: [2026 年 6 月 22 日午前 12:31 UTC](https://meta.discourse.org/t/cant-upload-to-s3-cloudflare-r2/405754/8 "2026-06-22T00:31:25Z")

</div>

ありがとう、それが原因だったようだ。余計に混乱を招くだけだったけど、これはCloudflareのせいだね。

---

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [2026 年 6 月 22 日午前 12:32 UTC](https://meta.discourse.org/t/cant-upload-to-s3-cloudflare-r2/405754/9 "2026-06-22T00:32:06Z")

</div>

ああ、Cloudflareのダッシュボードの設定はまるでスズメバチの巣のようですね（笑）。問題が解決してよかったです！

---

<div class="post-metadata">

### Author: ![darkpixlz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/darkpixlz/32/549896_2.png) [@darkpixlz](https://meta.discourse.org/u/darkpixlz)
#### Post date: [2026 年 7 月 22 日午前 12:32 UTC](https://meta.discourse.org/t/cant-upload-to-s3-cloudflare-r2/405754/10 "2026-07-22T00:32:15Z")

</div>

このトピックは最後の返信から30日後に自動的に閉じられました。これ以降、新しい返信は受け付けられません。
