Update: 2026-08-08 14:12:15
This commit is contained in:
@@ -3,6 +3,21 @@
|
||||
# /v2/main/... → خادم المدفوعات
|
||||
# السوكيتات تُنشر مباشرة من حاوياتها (2020 / 3030) — لا تمر من هنا.
|
||||
|
||||
# مُحلِّل أسماء دوكر المدمج. سببه عطل حقيقي دام أياماً:
|
||||
#
|
||||
# nginx يترجم اسم الـ upstream المكتوب حرفياً في fastcgi_pass **مرة واحدة**
|
||||
# عند تحميل الإعدادات ثم يحتفظ بالعنوان إلى الأبد. وحين أُعيد إنشاء حاوية
|
||||
# php_food انتقلت من 172.24.0.9 إلى 172.24.0.10، بينما بقي nginx يطرق
|
||||
# العنوان القديم — فكل طلبات الطعام تردّ 502 «Connection refused»
|
||||
# والحاوية سليمة تماماً وسجلّها صامت لأن الطلبات لا تصلها أصلاً. تشخيصٌ
|
||||
# مضلِّل إلى أبعد حدّ: كل ما تفحصه يبدو صحيحاً.
|
||||
#
|
||||
# العلاج: تمرير الوجهة عبر متغيّر. عندها يؤجّل nginx الترجمة إلى وقت
|
||||
# الطلب ويستعملُ هذا الـ resolver، فيلتقط أي عنوان جديد خلال 10 ثوانٍ.
|
||||
# فائدة ثانية: بالمتغيّر لا يسقط إقلاع nginx إذا كانت الحاوية الهدف
|
||||
# متوقفة — كان يرفض الإقلاع كلياً فيُسقط الموقع بأسره.
|
||||
resolver 127.0.0.11 valid=10s ipv6=off;
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name _;
|
||||
@@ -10,6 +25,11 @@ server {
|
||||
index index.php index.html;
|
||||
client_max_body_size 25m;
|
||||
|
||||
# وجهات fpm كمتغيّرات — انظر تعليق الـ resolver أعلاه.
|
||||
set $upstream_php php:9000;
|
||||
set $upstream_php_food php_food:9000;
|
||||
set $upstream_php_transit php_transit:9000;
|
||||
|
||||
# عنوان العميل الحقيقي.
|
||||
# السلسلة هي: العميل ← nginx المضيف (CloudPanel) ← nginx الحاوية ← php-fpm،
|
||||
# فكان REMOTE_ADDR يصل إلى PHP دائماً كعنوان الوسيط (172.24.0.1). والنتيجة
|
||||
@@ -35,7 +55,7 @@ server {
|
||||
location ~ ^/backend/transit/.*\.php$ {
|
||||
try_files $uri =404;
|
||||
include fastcgi_params;
|
||||
fastcgi_pass php_transit:9000;
|
||||
fastcgi_pass $upstream_php_transit;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_read_timeout 60s;
|
||||
fastcgi_buffers 16 16k;
|
||||
@@ -47,7 +67,7 @@ server {
|
||||
location ~ ^/backend/food/.*\.php$ {
|
||||
try_files $uri =404;
|
||||
include fastcgi_params;
|
||||
fastcgi_pass php_food:9000;
|
||||
fastcgi_pass $upstream_php_food;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_read_timeout 60s;
|
||||
fastcgi_buffers 16 16k;
|
||||
@@ -57,7 +77,7 @@ server {
|
||||
location ~ \.php$ {
|
||||
try_files $uri =404;
|
||||
include fastcgi_params;
|
||||
fastcgi_pass php:9000;
|
||||
fastcgi_pass $upstream_php;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_read_timeout 60s;
|
||||
fastcgi_buffers 16 16k;
|
||||
@@ -70,7 +90,7 @@ server {
|
||||
allow 127.0.0.1;
|
||||
deny all;
|
||||
include fastcgi_params;
|
||||
fastcgi_pass php:9000;
|
||||
fastcgi_pass $upstream_php;
|
||||
fastcgi_param SCRIPT_NAME /status;
|
||||
fastcgi_param SCRIPT_FILENAME /status;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user