مشكلة خطأ 429 مع Reverse proxy

Hi, My Discourse is run with reverse proxy (NPM)

the discourse don’t it does not support the x-forwarded field and therefore shows me all the time the ip address of my reverse proxy when we look for example from which ip the user is registering etc …

I sniff the request on discourse and the X-forwarder is present but in access.log the IP view is the reverse proxy

I view on interne il necessary to change the configuration template or de configuration file nginx for Discourse (not nginx on NPM)

do you help me for this ? because the discourse activate de tempalte web.ratelimite and send most error 429

:frowning:
Thank you for you help

See How to set up Discourse on a server with existing Apache sites - sysadmin - Discourse Meta for an example of how to conduits) configure the internal nginx for your reverse proxy ip.

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

أواجه صعوبة في هذا أيضًا.

لدي خادم Debian مع Apache 2.4 vHosts وأحد هذه vHosts هو حاوية Discourse Docker. على Apache، تم تمكين mod_remoteip (لم يكن هناك mod_extract_forwarded)، ولكن بدون أي خيارات تكوين. تكوين vHost بسيط جدًا:

RequestHeader set X-Forwarded-Proto "https"
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /.well-known !
ProxyPass / http://localhost:8083/
ProxyPassReverse / http://localhost:8083/

8083 هو المنفذ HTTP المكشوف لحاوية Discourse Docker.

هذا كل شيء تقريبًا.

أرى زوارًا مختلفين (حسب IP) في الإحصائيات التي تم إنشاؤها باستخدام سجل وصول Apache، والأهم من ذلك، أرى أيضًا عناوين IP مختلفة للمستخدمين (كان هذا فحصًا بسيطًا بالنسبة لي). لذلك يبدو أن عناوين IP للزوار مكشوفة من خلال وكيل Apache إلى Discourse. كان هذا بالفعل هو الحال بدون تمكين mod_remoteip، والذي قمت به فقط قبل أيام قليلة.

على أي حال، أواجه مشكلة مرة أخرى الآن. هناك زاحف أو هجوم DoS يعمل على خادمنا بعنوان IPv4 من كراكوف، بولندا. إنه يولد الكثير من أخطاء 429. هذا لا بأس بالنسبة لي، ولكن جميع الزوار الآخرين يحصلون أيضًا على هذه الأخطاء.

هل هذا هو الحال أيضًا؟ لذلك عندما يتم الوصول إلى حد الاتصال يحصل الجميع على خطأ؟ أو لكل IP؟

هل هناك شيء مفقود في تكويني أو يمكنني تحسينه/ضبطه؟ كانت لدينا مشاكل مع Claudebot قبل بضعة أسابيع وأيضًا قبل بضعة أيام، لذلك ربما يحتاج الحد إلى الرفع قليلاً.

شكرًا وتحياتي،
روي

هل أضفت الأشياء لرؤية وصول عنوان IP البعيد إلى discourse أم أن جميع المستخدمين يبدون وكأنهم قادمون من الوكيل؟

ابحث عن x-forwarded-for

حسناً… :see_no_evil: لقد نسيت جزء Nginx (Discourse). :see_no_evil: شكراً لك! :slight_smile:

لقد قمت للتو بتعديل app.yml وقمت بإعادة بناء الحاوية. عاد الروبوت على الفور تقريباً بعد عودة الحاوية. لا أرى أي أخطاء 429 حتى الآن. آمل أن يبقى الأمر كذلك للمستخدمين “العاديين”.

هذا هو الأمر… عندما أتحقق من صفحة المشرف للمستخدمين، كنت أرى دائماً إدخالات مختلفة لـ “آخر IP”. لذلك بطريقة ما رأت Discourse عناوين IP الحقيقية للمستخدمين، حتى بدون mod_remoteip وأيضاً بدون تغيير تكوين Nginx. :man_shrugging:

على أي حال، أنا متحمس لرؤية ما إذا كان تغيير تكوين Nginx قد جلب الحل لهذه المشكلة! :slight_smile:

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