تكوين Nginx لمنصة Discourse عبر Tor

مرحباً بالجميع،

أود تكوين Discourse ليعمل كخدمة مخفية على Tor باستخدام nginx. إليك التكوين الذي أحاول تطبيقه في nginx (لا يعمل، تظهر رسالة “لم يتم العثور على الخادم”):

server {
    listen unix:/var/run/nginx-onion.sock;
    server_name prostadqmwc6no3n.onion;
    location / {
        proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

في ملف tor.conf الخاص بي، لدي التالي:

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 unix:/var/run/nginx-onion.sock

وفي المجلد /var/lib/tor/hidden_service، لدي ملفات اسم المضيف والمفتاح الخاص. يعمل Tor.

تم تثبيت Discourse ويعمل على الويب العادي، وملف /var/discourse/shared/standalone/nginx.http.sock موجود.

إذا لزم الأمر، أنا مستعد لدفع أجر شخص مقابل ساعة أو نحو ذلك من العمل لتشغيل هذا النظام (أشك في أن الأمر سيستغرق أكثر من ذلك، لأنني على الأرجح أرتكب خطأً بسيطاً).

هل نظرت إلى Template for serving through an .onion address with Docker

نعم، لكن بصراحة لا أستطيع فهم الأمر على الإطلاق، ويبدو أن هذا نهج معقّد أكثر من اللازم لما أحتاجه، وهو مجرد إعداد nginx يعمل بشكل صحيح.

هل وجدت حلاً؟

أيضًا، كيف قمت بتشغيل Discourse نفسه في tocker لعنوان .onion؟ (أريد منتدى متاحًا عبر تور فقط)

نعم، إليك التكوين الذي يعمل. كانت المشكلة بسيطة جدًا؛ فقد حاولت في البداية استخدام منفذ (socket) لاستضافة الموقع، لكن ذلك لم ينجح، لذا اضطررت لاستخدام منفذ (port).

server {
    listen 801;
    server_name 127.0.0.1;
   location / {
        proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

شكرًا لك على ردك السريع!

سؤال آخر: ما هي مواصفات الخادم لديك (ولأي قاعدة مستخدمين) / هل قمت بإجراء أي تغييرات لتحسين الأداء عبر تور؟

شكرًا مقدمًا!

إنه خادم افتراضي من Digital Ocean بسعة 2 جيجابايت مع 105 مستخدمين. لم نقم بإجراء أي تعديلات (باستثناء إضافة ملحق تتيح لنا تقديمه عبر شبكة Tor والإنترنت العادي في آن واحد).

سؤال آخر: هل تواجه أي مشاكل في تحميل صور المستخدمين (مثل بطاقة الخلفية، وشعار الملف الشخصي، وما إلى ذلك) بشكل بطيء جدًا (أفترض أن السبب هو Tor)؟ بعد التخزين المؤقت، تظهر الصور بشكل جيد.

لست متأكداً تماماً من كيفية عمل عناوين مستخدمين Tor. لكن بالنسبة لي، تظهر جميع عناوين IP الخاصة بالمستخدمين المسجلين على أنها 127.0.0.1، وهو ما أتوقعه، لكنني قمت بتعيين رأس x-forwarded-for في nginx.

لست متأكداً مما إذا كان لمستخدمي Tor شيء مشابه لعنوان IP داخل شبكة Tor نفسها، وكيف يمكنني إظهار ذلك.

قد تحتاج إلى استخدام set_real_ip_from