S3 buckets containing periods not allowed

Так, я также хотел разместить свои загрузки за Cloudflare, используя Wasabi вместо S3, поэтому CloudFront недоступен.

В итоге я напрямую изменил базу данных и перезапустил Discourse, и всё заработало. Также, действительно ли важно использование HTTPS между CDN и S3, если бакет имеет только публичный доступ на чтение?

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

2 лайка

Установите переменную DISCOURSE_S3_CDN, как описано в руководствах howto.

1 лайк

Я могу без проблем настроить URL CDN и указать его напрямую на Wasabi. Однако единственный способ заставить трафик сначала проходить через Cloudflare — это создать CNAME-запись для моего домена, указывающую на s3.wasabisys.com, где имя бакета должно соответствовать формату поддомена.your.domain.

Например, я не могу использовать бакет с именем xyz-uploads и размещать его за Cloudflare с CNAME на s3.wasabisys.com.

2 лайка

После множества разочарований и поисков в Google я наткнулся на эту тему и удивился, увидев, что она была создана ещё в 2015 году, и что эта проблема всё ещё актуальна? Это вполне обоснованный сценарий использования: применять бакет S3 с точками в названии, использовать функцию статического хостинга S3, а затем размещать перед ним CloudFlare с SSL. В такой конфигурации нет ничего неправильного, за исключением того, что Discourse в настоящее время не позволяет нам это делать.

Если Discourse действительно хочет опекать всех остальных пользователей, защищая их от проблем с SSL из-за точек в именах бакетов S3, то не может ли он хотя бы просто отображать ссылку на документацию, чтобы они могли разобраться в вопросе, одновременно позволяя тем, кто знает, как правильно настроить это, делать это?

2 лайка