S3、アセット、CDNのエラー

,

こんにちは、奇妙な問題に直面しています。S3 (DigitalOcean)、アセット (S3経由)、CDNエンドポイントに関するものです。

問題の説明:

エラーが発生した場合、ローディングアニメーションしか表示されず、エラーは以下の画像のように表示されます。

これがエラーのスキームです:

/ CDN エンドポイント 「通常の」エンドポイント
DISCOURSE_S3_BUCKET 設定済み :x: Pic1 :white_check_mark:
DISCOURSE_S3_BUCKET 未設定 :white_check_mark: :white_check_mark:
  • CDN エンドポイント: https://<bucket>.fra1.cdn.digitaloceanspaces.com
  • 「通常の」エンドポイント: https://<bucket>.fra1.digitaloceanspaces.com

現在の設定:

  DISCOURSE_USE_S3: true

  DISCOURSE_S3_ACCESS_KEY_ID: <token>
  DISCOURSE_S3_SECRET_ACCESS_KEY: <secret>
  DISCOURSE_S3_ENDPOINT: https://fra1.digitaloceanspaces.com
  DISCOURSE_S3_CDN_URL: https://<bucket>.fra1.cdn.digitaloceanspaces.com
  #DISCOURSE_S3_BUCKET: '<bucket>' # アセット用
  DISCOURSE_S3_UPLOAD_BUCKET: '<bucket>'
  DISCOURSE_S3_REGION: fra1
  DISCOURSE_BACKUP_LOCATION: s3
  DISCOURSE_S3_BACKUP_BUCKET: '<bucket>/backups '
  DISCOURSE_S3_INSTALL_CORS_RULE: false

また、以下のフックを設定しました(DISCOURSE_S3_BUCKET 変数を使用する場合):

hooks:
  after_assets_precompile:
    - exec:
        cd: $home
        cmd:
          - sudo -E -u discourse bundle exec rake s3:upload_assets

「正しい」設定の組み合わせでのみエラーが発生します。何かアイデアはありますか?必要であれば、さらに情報を提供することもできます。

CDNを変更する必要があります。Bunny.netは簡単です。

「いいね!」 2

Bunnyはうまく機能し、設定も簡単であることに同意します。

最近、フォーラムをStackpath(昨年のCDN価格が3倍になりました:scream_cat:)からBunnyに変更しました。

ボーナスとして、中国のユーザーにも有益でした。

「いいね!」 3

ご提案ありがとうございます!

私はオープンソースプロジェクトに参加しており、現時点でのトラフィックでは別のCDNを使用するほどの正当化はできません :sweat_smile:。DigitalOceanを使用している理由は、オープンソースプロジェクト向けの無料スポンサーシッププログラムがあるからです。

問題は、現在DOで(画像やアップロードされたものが同期されるように)何とか動作していることです。DISCOURSE_S3_UPLOAD_BUCKETは設定しましたが、DISCOURSE_S3_BUCKETは設定していません。そのため、「ひどく壊れている」とはどういうことか、もう少し説明していただけますか?

面倒な点は以下の通りです。

  • DISCOURSE_S3_BUCKETに依存しているため、rake uploads:s3_migration_statusのようなコマンドが機能しません。
  • アセットにCDNを使用できません。