Digital Ocean Spaces/S3と`example.com`の多くの重複したCORSルールにおける奇妙な動作

最近のブートストラップでこのエラーが発生しました。SFO3のDigital Oceanを使用しています。

"Tasks: TOP => s3:upload_assets => s3:ensure_cors_rules", "(See full trace by running
 task with --trace)", "I, [2021-12-16T21:19:05.748497 #1]  INFO -- : Installing CORS rules...", "Attempting to apply ASSETS S3 CORS ruleset in bucket pfaffmanager.", "Attempting to apply BACKUP_DIRECT_UPLOAD S3 CORS ruleset in bucket pfaffmanager."]

解決策のある説明はありますか?

うーん。設定を見たところ、明らかに同一のCORSルールがいくつかありました。そのうちの1つを削除したところ、すべて削除されました。これはステージングサーバーで、数え切れないほど(またはおそらく100回くらい?)アップグレードを実行しているので、Digital Oceanを使用しているすべての人に最終的には起こるかもしれませんが、ほとんどの人にとっては8か月ではなく、10年かかるでしょう。

CORSルールを削除した後、次のブートストラップは成功し、スペースバケットの設定には2つのCORSルールがありました。しかし、見てください。ルールは example.com. に設定されているようです :man_shrugging:

AMS3の別のバケットで、Pretty Many Timesブートストラップしたことは確かですが、上記のルールのような3つのルールがあります。すべて example.com のためです。私は app.yml をチェックして、私が何か愚かなことをしているかどうかを確認しました(もしそうなら、私がそれを多くの場所に同じように行ったとしても理にかなっていますが)、しかし yml には example.com はありません。

再構築時に、ログに次のように表示されます。


I, [2021-12-16T21:46:58.038151 #1]  INFO -- : cd /var/www/discourse & sudo -E -u discourse bundle exec rake s3:upload_assets
I, [2021-12-16T21:47:39.039145 #1]  INFO -- : Installing CORS rules...
Attempting to apply ASSETS S3 CORS ruleset in bucket pfaffmanager.
Attempting to apply BACKUP_DIRECT_UPLOAD S3 CORS ruleset in bucket pfaffmanager.
Assets rules status: rules_applied.
Backup rules status: rules_applied.
Direct upload rules status: rules_skipped_from_settings.

example.com のために s3_backup_store.rb のような場所のコードを見ましたが、説明を見つけることができませんでした。

「いいね!」 3

DOでは、Using Object Storage for Uploads (S3 & Clones)でGCPやBackBlazeに対して既に行っているように、DISCOURSE_S3_INSTALL_CORS_RULE: falseを推奨すべきのようです :thinking:

「いいね!」 4

こんにちは。

トピックを復活させてしまい申し訳ありませんが、数日前に同様の問題が発生したと思われます。

私の環境:

Digital Ocean Spaces (s3:upload_assets および s3:expire_missing_assets を使用)
CDN - Bunny

再構築または管理者の更新時にアセットをアップロードすると、新しいCORSルールが生成されるようです。元のルールが重複しています。コンソールエラーメッセージをコピーしませんでしたが、アセットをアップロードする前に、CORSルールの最大数である100に達したという内容でした。Digital Oceanにアクセスしてルールを確認したところ、確かに100個ありました。:smiley: @pfaffman と同じように、1つ削除したところ、すべてのルールが削除されました。その後、再構築時にアセットが正常にアップロードされました。

これを設定した際、こちらの指示に従いました:Configure an S3 compatible object storage provider for uploads この指示には、まだこの行は含まれていません。

この行を追加することで、重複したCORSルールの生成が停止しますか?よろしくお願いします :slightly_smiling_face:

他のトピックを更新したので、将来ユーザーがこの問題に遭遇しないことを願っています!ご指摘いただきありがとうございます。

「いいね!」 2