# S3 buckets containing periods not allowed

**URL:** <https://meta.discourse.org/t/s3-buckets-containing-periods-not-allowed/35645>\
**Category:** Feature\
**Created:** [2015年十一月16日 13:23 UTC](https://meta.discourse.org/t/s3-buckets-containing-periods-not-allowed/35645 "2015-11-16T13:23:32Z")\
**Posts on this page:** 4\
**Page:** 2

<div class="post-metadata">

**Author:** ![theblazehen](https://avatars.discourse-cdn.com/v4/letter/t/ee59a6/32.png) [@theblazehen](https://meta.discourse.org/u/theblazehen)\
**Post date:** [2020年六月17日 11:04 UTC](https://meta.discourse.org/t/s3-buckets-containing-periods-not-allowed/35645/22 "2020-06-17T11:04:04Z")

</div>

所以，我也想通过 Cloudflare 托管我的上传文件，使用 Wasabi 而不是 S3，因此无法使用 CloudFront。

我最终直接修改了数据库，并重启了 Discourse，问题就解决了。另外，如果存储桶仅设置为公开读取，那么 CDN 与 S3 之间的 HTTPS 连接真的重要吗？

`UPDATE site_settings SET value = 'uploads.domain.tld' WHERE name = 's3_upload_bucket';`

---

<div class="post-metadata">

**Author:** ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)\
**Post date:** [2020年六月17日 18:52 UTC](https://meta.discourse.org/t/s3-buckets-containing-periods-not-allowed/35645/23 "2020-06-17T18:52:02Z")

</div>

按照 #howto 指南中的说明设置 DISCOURSE\_S3\_CDN 变量。

---

<div class="post-metadata">

**Author:** ![theblazehen](https://avatars.discourse-cdn.com/v4/letter/t/ee59a6/32.png) [@theblazehen](https://meta.discourse.org/u/theblazehen)\
**Post date:** [2020年六月18日 12:08 UTC](https://meta.discourse.org/t/s3-buckets-containing-periods-not-allowed/35645/24 "2020-06-18T12:08:35Z")

</div>

我可以轻松设置 CDN URL 并直接指向 Wasabi。但若要让其先经过 Cloudflare，唯一的办法是在我的域名上添加一个 CNAME 记录，指向 [s3.wasabisys.com](http://s3.wasabisys.com)，此时存储桶名称必须采用 subdomain.your.domain 的格式。

例如，我无法使用名为 xyz-uploads 的存储桶，并通过 CNAME 指向 [s3.wasabisys.com](http://s3.wasabisys.com) 将其置于 Cloudflare 之后。

---

<div class="post-metadata">

**Author:** ![winterdj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/winterdj/32/248980_2.png) [@winterdj](https://meta.discourse.org/u/winterdj)\
**Post date:** [2022年二月7日 08:26 UTC](https://meta.discourse.org/t/s3-buckets-containing-periods-not-allowed/35645/25 "2022-02-07T08:26:56Z")

</div>

在经历了许多挫折和搜索之后，我找到了这个话题，并惊讶地发现它创建于 2015 年，而且这个问题仍然存在？使用带有句点的 S3 存储桶并利用 S3 的静态托管功能，然后在前面加上 CloudFlare 和 SSL，这是一个有效的用例。除了 Discourse 目前阻止我们这样做之外，这种设置没有任何问题。

如果 Discourse 真的想强制所有其他用户保护自己免受 S3 存储桶名称中带有句点的 SSL 问题的影响，那么它是否至少可以提供一个链接到一些文档供他们自行学习，同时允许那些知道如何正确配置的人这样做？

[上一頁](https://meta.discourse.org/t/s3-buckets-containing-periods-not-allowed/35645.md?page=1)
