markdown-it-bundle の無効な URL

,

本日アップデートを行い、envでS3_CDN_URLオプションを有効にした後、markdown-it-bundle以外のすべてがロードされなくなりました。

https://tosdr.community/https://tosdr-community.s3.jrbit.de/assets/markdown-it-bundle-5a633717415fd164893a925e4cac1406ecab8179d15637506b08a147ab543433.br.js

サーバー上のアセットは存在し、アップロードされているにもかかわらず、discourseはベースURLをプレフィックスとして付け続けます。
他のすべてのアセットは正常に動作しています。

アップロードテーブルを確認しましたが、すべてのURLは適切な形式になっています。

他に確認すべきテーブルはありますか、それともこの問題に対する単純な修正方法はありますか?

データベース全体で文字列を検索するためのremapのようなDbHelperはありますか?

「いいね!」 1

Discourse を S3 でセットアップするためのガイドに従いましたか?このトピックによると、セットアップするには多くの洗練された手順を踏む必要があるようです。

「いいね!」 1

私の専門ではありませんが、似たような問題のトピックを見つけました。お役に立つかもしれません。\n\nPreview not working when using object store - wrong markdown-it url

「いいね!」 2

@crcoli7307 はい、まさに私がフォローしたトピックです :slight_smile:


@JammyDodger
トピックをありがとうございます!

それで、S3_CDN_URLを次のように変更しました。

DISCOURSE_S3_CDN_URL: https://s3.jrbit.de/tosdr-community

しかし、残念ながらこれにより、スタイルシートの読み込み元に関してすべてが壊れてしまいました。

これはバケット名が原因でしょうか?ドメインとほぼ同じです。

バケット名: tosdr-community
ドメイン: tosdr.community

スタイルシートがどのように構築されているか見てください。

新しいバケットに移行したばかりです。バケットの名前ではなく、同じ問題が発生しています。

UPDATE: markdown-it-bundle がどのように埋め込まれ、実行されているかを確認しました。rail コンソールで script_asset_path を実行しました(request.env 変数が欠落しているため、わずかに変更を加えています!)。

image

script_asset_path によると、アセットの URL は正しく生成されています。なぜこれが起こっているのか、まだわかりません。

EDIT:
既知のバグのようです。

EDIT 2:
利用可能な最も汚い回避策を使用して「修正」しました。Nginx の設定でアセットをハードコーディングし、リダイレクトしました。

location ~ markdown-it-bundle-dcd9743077867b3a68d7b723130cb2711dc4c843b018d7bc609f868289402fef.(.*).js {
return 302 https://tosdr-forum.s3.jrbit.de/assets/markdown-it-bundle-dcd9743077867b3a68d7b723130cb2711dc4c843b018d7bc609f868289402fef.$1.js;
}

これでうまくいきましたが、アセットが更新されると問題が発生する可能性があります :slight_smile:

「いいね!」 1