أقوم بإعداد مواقع Wordpress و Discourse (مستضافة ذاتيًا) باستخدام المكون الإضافي WP-Discourse.
لقد قمت بتمكين مصادقة HTTP الأساسية بنجاح على كلا الموقعين لمنعهما من الوصول إليهما حتى يصبحا جاهزين للانطلاق (مما يؤدي إلى حظر الوصول من الجمهور العام وكذلك محركات البحث).
Wordpress (معلومات للأشخاص الذين يتطلعون إلى تحقيق شيء مماثل)
إعادة بناء التكوين: /var/discourse# ./launcher rebuild app
يعمل المكون الإضافي WP-Discourse بشكل جيد حتى يتم تمكين المصادقة الأساسية على خادم Discourse.
(تعديل) هذا هو الخطأ في سجل المكون الإضافي WP-Discourse على جانب Wordpress: [2025-02-14 18:20:06] connection.INFO: check_connection_status.failed_to_connect {"error":"wpdc_response_error","message":"An invalid response was returned from Discourse","http_code":401,"http_body":"\u003chtml\u003e\r\n\u003chead\u003e\u003ctitle\u003e401 Authorization Required\u003c/title\u003e\u003c/head\u003e\r\n\u003cbody\u003e\r\n\u003ccenter\u003e\u003ch1\u003e401 Authorization Required\u003c/h1\u003e\u003c/center\u003e\r\n\u003chr\u003e\u003ccenter\u003enginx\u003c/center\u003e\r\n\u003c/body\u003e\r\n\u003c/html\u003e\r\n"}
أي أفكار حول كيفية استثناء واجهات برمجة التطبيقات (APIs) من طلب مصادقة HTTP الأساسية على Discourse؟
هل فعلت ذلك؟ لست متأكدًا تمامًا من أن Discourse سيعمل خلف المصادقة الأساسية؛ لقد حاولت مرة واحدة ولكني استسلمت. يبدو أنه من المرجح أن يؤدي ذلك إلى تعطل wp-discourse (أوه، وكنت على حق بشأن ذلك!). إذا نجحت، فلن تكتب هذه الرسالة.
بالنسبة لمواقع التدريج الخاصة بـ Discourse، أقوم بشكل عام بتعيين “تسجيل الدخول مطلوب” وهذا يبقي محركات البحث بعيدًا. لا يزال بإمكان شخص لديه تسجيل دخول تسجيل الدخول، ولكن هذا ما تريده عادةً.
إذا كان من غير المقبول أن تكون مواقعك متاحة لأي شخص، فربما يجب عليك استخدام جدار حماية وتقييد الوصول إلى عنوان IP الخاص بك.
شكرًا لك، ساعدني هذا الدليل في حل المشكلة. إليك قسم المصادقة الأساسية المحدث لـ app.yml على خادم Discourse الخاص بي (لم تكن هناك حاجة إلى تغييرات على خادم Wordpress):
# المصادقة الأساسية
after_bundle_exec:
- replace:
filename: "/etc/nginx/conf.d/discourse.conf"
from: "# السماح بتجاوز ذاكرة التخزين المؤقت من localhost"
to: |
# السماح بتجاوز المصادقة الأساسية لمكون WP-Discourse الإضافي
geo $authentication {
default "بيانات الاعتماد التي يجب عليك تقديمها.";
127.0.0.1 "off";
151.101.3.55/32 "off";
}
# السماح بتجاوز ذاكرة التخزين المؤقت من localhost
- replace:
filename: "/etc/nginx/conf.d/discourse.conf"
from: "# auth_basic on"
to: "auth_basic $authentication"
- replace:
filename: "/etc/nginx/conf.d/discourse.conf"
from: "# auth_basic_user_file /etc/nginx/htpasswd"
to: "auth_basic_user_file /etc/nginx/htpasswd"
- replace:
filename: "/etc/nginx/conf.d/discourse.conf"
from: "location = /srv/status {"
to: "location = /srv/status {
auth_basic off;"
- file:
path: "/etc/nginx/htpasswd"
contents: |
alfred:$apr1$jSdLuHyZ$faWxYGjnmLd/zRC6UMsRs1
151.101.3.55 هو عنوان IP العام (كمثال) لخادم Wordpress الخاص بي. يبلغ WP-Discourse الآن: