أنا حاليًا غير قادر على إدارة منتداي وأرغب في إغلاقه مؤقتًا لأنه يحتاج إلى رابط SSL جديد لم أكتشف كيفية القيام به بعد. لا أريد أن يخاطر أي من مستخدمينا بالتعرض للاختراق. هل من الممكن منع الجميع من الدخول إلى المنتدى مؤقتًا دون حذفه بالكامل؟
هل فكرت في وضع موقعك في وضع القراءة فقط؟ يمكن العثور على هذا في قسم النسخ الاحتياطي في إعدادات المسؤول your-site-name/admin/backups سيؤدي هذا إلى جعل موقعك للقراءة فقط حتى لا يتمكن المستخدمون من النشر وما إلى ذلك.
شكراً على ردك. قرأت عن هذا ولكنه لا يزال لا يمنع المستخدمين من الدخول إلى المنتدى الذي يمثل مشكلة حالياً لأنه غير آمن (لا يوجد https في بداية الرابط، أي لا توجد شهادة أمان).
إذا كانت نيتك هي إعادته للعمل بمجرد أن يكون لديك وقت لمعرفة SSL، فما سأفعله هو محاولة استخدام قوالب SSL المضمنة أولاً. يجعل Discourse من السهل جدًا عليك الحصول على Let’s Encrypt واستخدامه لـ SSL، لذا ربما يستحق الأمر تجربته قبل اللجوء إلى إيقافه.
إذا كنت ترغب في تجربته، قم بإزالة علامة # من السطرين الثاني والثالث في هذه الأسطر بالقرب من أعلى ملف app.yml الخاص بك:
## قم بإلغاء التعليق على هذين السطرين إذا كنت ترغب في إضافة Let's Encrypt (https)
#- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"
بعد ذلك، ابحث عن #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com في مكان آخر في نفس الملف، وقم مرة أخرى بإزالة علامة # واستبدل عنوان البريد الإلكتروني المثال.
أخيرًا، أعد بناء Discourse ويجب أن يحصل على شهادة Let’s Encrypt ويقوم بإعداد HTTPS، مع إعادة توجيه كل شيء من HTTP.
للأسف، لا أعرف كيفية تثبيت Discourse أو كيف يعمل هذا بشكل عام. قام والدي بإعداد المنتدى لشركته ولكنه توفي هذا العام. لدينا خادم مع Linode ومن الممكن أن يكون Discourse مثبتًا عليه.
شكراً سيمون على شرحك المفصل. قام والدي بإنشاء هذا الموقع ولكن توفي هذا العام. ليس لدي أي فكرة عن كيفية تثبيت وإعداد Discourse ولا أعرف شيئًا عن مواقع الويب بشكل عام. أين أجد ملف appl.yml هذا؟ هل قام والدي بتثبيت Discourse على خادم النطاق الخاص بنا؟ نحن نستخدم Linode وهناك “Linode” يسمى “Discourse” عليه. أنا فقط لا أعرف ما يعنيه هذا وكيفية الوصول إلى التثبيت.
شكراً لمساعدتك.
ثالثاً، قد ترغب في محاولة تشغيل تحديث من لوحة واجهة المستخدم الإدارية، مباشرة من متصفح الويب الخاص بك، حيث قد يؤدي ذلك إلى حل مشكلاتك: https://yoursitedomain.com/admin/upgrade
هذا فظيع. يؤسفني سماع ذلك. إذا كنت لا تعرف كيفية الاتصال بـ ssh بهذا الخادم، فإن أسهل شيء هو عمل نسخة احتياطية، وإجراء تثبيت جديد، واستعادة النسخة الاحتياطية هناك.
إذا كان بإمكانك الحصول على وصول ssh إلى الخادم، فيمكنك القيام بالأشياء الموجودة في سطر الأوامر الموضحة هنا.
لست متأكدًا من أنني أتفق مع ذلك. الإعداد الافتراضي وفقًا لملف app.yml المضمن هو عدم استخدام قوالب web.ssl أو web.letsencrypt.ssl، وعدم وجود أي إعادة توجيه HTTP وصفها @Mads يبدو لي ببساطة أن هذا الإعداد الافتراضي قد تم الاحتفاظ به، أي أنه لم يكن لديه SSL أبدًا.
يبدو هذا واعدًا جدًا كخادم يستضيف Discourse. إذا كنت لا تزال ترغب في إيقافه، يمكنك ببساطة إيقاف تشغيل Linode هذا، ولكن اعتمادًا على كيفية إعداده، قد تكون هناك أشياء أخرى على هذا الخادم أيضًا.
كما قال @sdpiowa، يمكنك إعادة تعيين كلمة المرور كما هو موضح في الرابط الذي قدمه. قم بالتمرير إلى الأسفل حتى إعادة تعيين كلمة مرور الجذر. لا تحتاج إلى القيام بذلك إذا كان لديك بالفعل كلمة مرور الجذر لهذا الخادم.
مع وجود كلمة مرور الجذر في متناول اليد، فإن أبسط طريقة للوصول إلى الخادم ستكون استخدام وحدة تحكم LISH على مدير سحابة Linode.
في الخطوة الأخيرة عندما ترى login: في وحدة التحكم، ستكتب root وتضغط على Enter، ثم تكتب كلمة المرور وتضغط على Enter مرة أخرى. عند هذه النقطة، يجب أن يكون لديك shell وتكون قادرًا على تشغيل الأوامر على الخادم - لاحظ أنه يجب عليك توخي الحذر الشديد لعدم ارتكاب أخطاء هنا، على الأرجح سيؤدي الخطأ ببساطة إلى حدوث خطأ وعدم حدوث شيء، ولكن الأخطاء في shell الجذر يمكن أن تؤدي إلى آثار جانبية ضارة.
قبل المتابعة إلى أي شيء آخر، تأكد من إنشاء نسخة احتياطية يدوية لـ Discourse وبعد اكتمال ذلك، قم بإنشاء لقطة شاشة يدوية في مدير سحابة Linode. بهذه الطريقة، تعرف أن لديك كل ما تحتاجه للاسترداد إذا حدث خطأ ما.
ابدأ بتغيير الدليل للدخول إلى المكان الصحيح:
cd /var/discourse
عادةً ما تحتوي صور Linode على nano مثبتًا وهو محرر نصوص سهل الاستخدام. قم بتحرير ملف app.yml:
nano containers/app.yml
من المحتمل أنك لا تستطيع استخدام الماوس لتحريك المؤشر، لذا استخدم مفاتيح الأسهم للتنقل في الملف وإجراء التغييرات الموصوفة سابقًا. بمجرد الانتهاء من ذلك، اضغط على CTRL + X للخروج وسيُطلب منك ما إذا كنت تريد الحفظ، اضغط على Y للإجابة بنعم وسيُطلب منك اسم ملف، فقط اضغط على Enter وسيتم حفظ الملف والخروج من nano.
أخيرًا، أعد بناء Discourse ولا تغلق نافذة LISH بعد بدء هذا:
./launcher rebuild app
إذا سار كل شيء على ما يرام، ربما بعد 10-20 دقيقة سيعود Discourse ويعمل مع SSL.
مات هنا يساعد مادس، مسؤول نظام ذو خبرة معقولة ومريح جدًا في بيئة *nix، جعلتني Docker أحفر أعمق قليلاً ولكنني وصلت إلى هناك.
قال سجل Letsencrypt:
The CA is processing your order, please just wait. (1/30)
community.fruityknitting.com:Verify error:Fetching https://community.fruityknitting.com/.well-known/acme-challenge/9NEyZhZzZQ9FwGrqGqDNblLiwtOQQGlYr-9nSFUwKhw: Connection refused**
كان تكوين Nginx يحتوي على إعادة توجيه فورية من المنفذ 80 إلى https، ثم أعتقد أن أندرو جعل Discourse يتحقق من حساب صالح عبر Patreon، فإن إعادة التوجيه هذه للمنفذ 80 مع إعادة توجيه Patreon ربما أوقفت Letsencrypt من التحقق من الملف المحلي.
أوقفت إعادة توجيه Nginx للمنفذ 80، وأعدت تشغيل Nginx وأعدت تشغيل:
/shared/letsencrypt/acme.sh --cron --home /shared/letsencrypt
أعتقد أن هذا خارج الصندوق لإجبار كل الاتصالات عبر https من أي اتصال وارد عبر http.
يبدو أمر Patreon غريباً بعض الشيء؟
ما الذي يحاول فعله ولا يمكنك فعله في طبقة التطبيق بنسبة 100٪ عبر https؟
لماذا يجب أن يهتم الوكيل العكسي؟