المعاينة لا تعمل عند استخدام مخزن الكائنات - عنوان URL خاطئ لـ markdown-it

عند تكوين مخزن الكائنات، لا تعمل المعاينات للمواضيع/المنشورات.

تم تكوين Discourse باستخدام مخزن كائنات
التثبيت على docker، باتباع الوثائق.
إصدار Discourse: 2.8.0.beta11

إليك متغيرات البيئة الخاصة بي لإعدادات S3:

  DISCOURSE_CDN_URL: https://discourse.liiib.re
  DISCOURSE_USE_S3: true
  DISCOURSE_S3_REGION: default
  DISCOURSE_S3_ENDPOINT: https://hot-objects.liiib.re
  DISCOURSE_S3_ACCESS_KEY_ID: ACCESS_KEY_ID
  DISCOURSE_S3_SECRET_ACCESS_KEY: SUPER_SECRET_KEY
  DISCOURSE_S3_CDN_URL: https://forum-beta-liiib-re.hot-objects.liiib.re
  DISCOURSE_S3_BUCKET: forum-beta-liiib-re
  DISCOURSE_S3_INSTALL_CORS_RULE: false

عندما أفحص متصفح المتصفح، يشير عنوان URL لـ markdown-it-bundle إلى https:https://forum-beta-liiib-re.hot-objects.liiib.re/assets/markdown-it-bundle-9d939740bdeca330e5984bed41d12eab63736c1f720ab68e0c2a2d672c01adc2.br.js

لا ينبغي أن يسبق DISCOURSE_S3_CDN_URL بـ https: لأنه موجود بالفعل.

في وحدة التحكم لدي الخطأ التالي:

فشل التحميل لـ <script> مع المصدر "https://discourse.liiib.re/https://forum-beta-liiib-re.hot-objects.liiib.re/assets/markdown-it-bundle-9d939740bdeca330e5984bed41d12eab63736c1f720ab68e0c2a2d672c01adc2.br.js".

أعتقد أن متصفحي يعيد توجيه عنوان URL https:https://... إلى هذا العنوان.

لقد كنت أحاول العثور، دون جدوى، على مكان تعيين عنوان URL هذا.

إذا كان بإمكان شخص ما توجيهي :slight_smile:

شكرا لمساعدتك

إعجابَين (2)

أعتقد أنه موجود هنا discourse/app/helpers/application_helper.rb at 70af45055ae24dc7eb1a20678a52ed3ec69421c3 · discourse/discourse · GitHub

كان هذا تخميني أيضًا، نسيت أن أذكر ذلك.

حسنًا، لست متأكدًا بنسبة 100٪ لأنني لا أملك بيئة تطوير مناسبة لاختبار كل شيء بدقة، ولكنه لا يبدو أنه قادم من هناك.

من ما رأيته، script_asset_path('markdown-it-bundle') يعيد عنوان URL الصحيح. وأعتقد أنه يُستخدم لبناء علامة HTML الوصفية هذه التي تبدو جيدة.

<meta id="data-discourse-setup" data-cdn="https://discourse.liiib.re" data-base-url="https://discourse.liiib.re" data-base-uri="" data-environment="production" data-letter-avatar-version="5_c12935382690395be92856801563c2b7" data-markdown-it-url="https://forum-beta-liiib-re.hot-objects.liiib.re/assets/markdown-it-bundle-9d939740bdeca330e5984bed41d12eab63736c1f720ab68e0c2a2d672c01adc2.br.js" data-service-worker-url="service-worker.js" data-default-locale="en" data-asset-version="be5bda1657984e9e27d7d3c27ab24add" data-disable-custom-css="false" data-highlight-js-path="/highlight-js/discourse.liiib.re/084d101d62e4ceb91462fa1464b341511141973f.js" data-svg-sprite-path="/svg-sprite/discourse.liiib.re/svg-1-c105fc3106297bc864bbadbd418cf380c71e3a4b.js" data-enable-js-error-reporting="true" data-color-scheme-is-dark="false" data-user-color-scheme-id="4" data-user-dark-scheme-id="1" data-s3-cdn="https://forum-beta-liiib-re.hot-objects.liiib.re" data-s3-base-url="//forum-beta-liiib-re.hot-objects.liiib.re">

يبدو أن جافاسكريبت هو الذي يضع عنوان URL الخاطئ مع البادئة https:. لم أتمكن من العثور على مصدره على الرغم من ذلك.

إنه فقط عندما أفتح المحرر يظهر لي <script src="https:https://forum-beta-liiib-re.hot-objects.liiib.re/assets/markdown-it-bundle-9d939740bdeca330e5984bed41d12eab63736c1f720ab68e0c2a2d672c01adc2.br.js"></script> .

إعجابَين (2)

لا أعتقد أن الأمر سينجح مع عنوان URL الخاص بـ S3 CDN وهو نطاق فرعي لنقطة نهاية S3. هل يمكنك محاولة استخدام نطاقات فرعية مميزة على نفس المستوى لكليهما؟

إعجابَين (2)

حسناً، عدت إلى العمل. يبدو أنك على حق.

لقد حاولت تعيين DISCOURSE_S3_CDN_URL كمسار فرعي للدلو https://hot-objects.liiib.re/forum-beta-liiib-re وهو يعمل الآن.

هل تعتقد أنه سيكون من المعقول السماح لشبكة توصيل المحتوى (CDN) الخاصة بـ S3 بأن تكون نطاقاً فرعياً لنقطة نهاية S3؟

في حالتي، والتي قد تكون مشابهة لإعدادات أخرى مستضافة ذاتياً، أنا لا أستخدم شبكة توصيل محتوى خارجية (يمكن اعتبار nginx فوق minio بمثابة شبكة توصيل المحتوى) لذلك لا أحتاج إلى تعيينها على نطاق آخر.
لقد قمت بالفعل بإعداد الدلو الفرعي للنطاق لأنني أعتقد أنه مطلوب لـ discourse لإدارة التحميلات.

على أي حال، لقد حلّت المشكلة وهي تعمل لدي. شكراً للمساعدة!

إعجاب واحد (1)