طلبات خطوط غير آمنة

محتوى مختلط: تم تحميل الصفحة في '\u003cURL\u003e' عبر HTTPS، ولكنها طلبت خطًا غير آمن '\u003cURL\u003e'. تم حظر هذا الطلب؛ يجب تقديم المحتوى عبر HTTPS

و 40 طلبًا للخطوط من الجوهرة discourse-fonts. هذه عملية تثبيت جديدة حيث يتم تشغيل Postgres و Redis على خادم منفصل داخل الشبكة المحلية والاتصال “مُقبس” ولكنه يُقدم للخارج عبر https بالطبع. هناك مواضيع مشابهة ولكن لا يوجد جواب واضح بالنسبة لي. يشير فحص CSS إلى wizard.scss (مصدر مُخطط). أي أدلة؟

هل قمت بتمكين إعداد فرض https؟

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

على الأرجح لا. أين أقوم بتعيينه؟ ولماذا يجب أن يكون مطلوبًا في المقام الأول بدلاً من أن يطلب CSS أصولًا ثابتة عبر https أو مراجع نسبية؟

على أي حال - على الخادم الخارجي الذي يواجه الويب لديّ إعداد 301 النموذجي

تعديل:

وجدت الإعداد بناءً على هذا المنشور، شكرًا لك @Arkshine

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

لست متأكدًا من سبب وجود رابط http لديك في مكان ما؛ يجب فرض استخدام https بغض النظر عن ذلك.

يمكنك العثور عليه في شريط البحث:

إعجابَين (2)

حسنًا، أنا أيضًا. لم أقم بتعديل أي شيء. فقط الأمر العادي launcher build app. تبدو عناوين URL هذه في ملف CSS المعالج، والذي من الواضح أنني لم ألمسه (ولا ملف scss) بأي شكل من الأشكال. لم أجد أي شيء متعلق بـ https في ملف app.yml أيضًا، لذا… لا أعرف. يبدو أن force_https يحل المشكلة.

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

FORCE_HTTPS يخبر Discourse بإعادة كتابة الطلبات.

إنه ضروري حتى لو كنت تقوم بتغليف SSL خارج الحاوية لتجنب المشكلة التي تصفها.

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

يعتمد الأمر على كيفية تعريفنا لـ “ضروري”. حاليًا، قد يكون من الضروري التحايل على المشكلة الفعلية، وهي أن ملفات CSS المترجمة تشير إلى الأصول الثابتة بشكل صريح باستخدام مخطط http. ولكن في رأيي، لا ينبغي أن يكون هذا ضروريًا على المدى الطويل.

ضروري بمعنى أنه الغرض من FORCE_HTTPS - بهذه الطريقة تخبر Discourse أنه يتم تقديمه بشكل آمن وإعادة كتابة الروابط على هذا النحو.

إذًا، ما هي العوامل/الشروط التي ستؤثر على بروتوكول URL للأصول (JS/CSS) HTTP/HTTPS؟

  1. إذا قمت بالتعليق على ما يلي، وكان موقعك يصل عبر HTTP، فإن عناوين URL للأصول ستكون HTTP أيضًا
  #- "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"

في هذه الحالة، إذا قمت بتمكين force_https، فستنتهي بك الحال مع جميع عناوين URL للأصول بخطأ R_SSL_PROTOCOL_ERROR إذا كان النطاق المطلوب غير مثبت عليه شهادة. ثم لتجنب ذلك، تقوم بتثبيت شهادة لذلك لحل مشكلة بروتوكول SSL.

  1. إذا قمت بدلاً من ذلك بتثبيت Discourse مع إلغاء التعليق على القالب أعلاه، فيجب أن يكون عنوان URL للأصول الخاص بالموقع HTTPS جنبًا إلى جنب مع بروتوكول عنوان URL الأساسي لموقعك. علاوة على ذلك، فإن force https غير مرئي في واجهة المستخدم الإدارية.

كما ذكر في المنشور الأصلي، في حالتي الشهادة وكل شيء صحيح وصالح ولكن جميع الاتصالات بالخارج تتم بواسطة وكيل عكسي (nginx، بالطبع ;-)، بينما يتم الاتصال بـ discourse عبر مقبس يونكس. مما يعني أن لدي
templates/web.socketed.template.yml
بدلاً من أي من تلك التي ذكرتها. ومع ذلك - لا ينبغي أن يتطلب هذا أن تحتوي عناوين URL الثابتة على مخطط http: صريح مكتوب بشكل ثابت.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.