Update: 2026-08-03 11:52:03
This commit is contained in:
+5
-1
@@ -7,7 +7,11 @@ PHP_VERSION=8.2
|
||||
HTTP_PORT=8181
|
||||
APP_DOMAIN=jordan-siro.intaleqapp.com
|
||||
APP_ISSUER=SiroApp
|
||||
APP_DEBUG=true
|
||||
# ⚠️ يجب أن تبقى false في الإنتاج.
|
||||
# bootstrap.php يفعّل display_errors عندما تكون true، فتُطبع تحذيرات PHP
|
||||
# داخل جسم الاستجابة: تكشف مسارات الملفات للعملاء، وتُفسد الردود بـ
|
||||
# "headers already sent" لأن الإخراج يسبق الرؤوس (رُصد فعلاً في الإنتاج).
|
||||
APP_DEBUG=false
|
||||
APP_COUNTRY=Jordan
|
||||
APP_CURRENCY=JOD
|
||||
|
||||
|
||||
@@ -10,6 +10,19 @@ server {
|
||||
index index.php index.html;
|
||||
client_max_body_size 25m;
|
||||
|
||||
# عنوان العميل الحقيقي.
|
||||
# السلسلة هي: العميل ← nginx المضيف (CloudPanel) ← nginx الحاوية ← php-fpm،
|
||||
# فكان REMOTE_ADDR يصل إلى PHP دائماً كعنوان الوسيط (172.24.0.1). والنتيجة
|
||||
# أن RateLimiter يضع كل المستخدمين في دلو واحد: محاولات دخول فاشلة من عميل
|
||||
# واحد كانت تحجب الجميع بـ 429 (ظهر ذلك في السجل فعلاً).
|
||||
# نمرّر السلسلة إلى PHP ليقرأها عبر clientIp() في core/helpers.php.
|
||||
set $siro_fwd $http_x_forwarded_for;
|
||||
if ($siro_fwd = "") {
|
||||
set $siro_fwd $remote_addr;
|
||||
}
|
||||
fastcgi_param HTTP_X_FORWARDED_FOR $siro_fwd;
|
||||
fastcgi_param HTTP_X_REAL_IP $remote_addr;
|
||||
|
||||
# كان access_log off من اختبار ضغط قديم ونُسي مُطفأً، فصار تشخيص أي عطل
|
||||
# مستحيلاً: البحث في سجلّ الوصول يرجع صفراً دائماً فيبدو أن التطبيق لا
|
||||
# يستدعي المسار أصلاً، والحقيقة أن السجلّ فارغ لا الطلبات. أعِده مطفأً
|
||||
|
||||
Reference in New Issue
Block a user