ضبط بورتات الدوكر لتفادي التعارض مع siro

This commit is contained in:
Hamza-Ayed
2026-07-29 02:47:03 +03:00
parent d34550e1ca
commit 5dcdcd8a3a
2 changed files with 25 additions and 25 deletions
+8 -8
View File
@@ -8,13 +8,13 @@
# التشغيل: docker compose up -d --build (انظر README.md)
# ============================================================
name: tripz
name: tripz-core
services:
nginx:
image: nginx:1.27-alpine
ports:
- "${HTTP_PORT:-8083}:80"
- "${HTTP_PORT:-8183}:80"
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
- ../backend:/var/www/backend:ro
@@ -66,8 +66,8 @@ services:
# ‏لا نفتح 2020 للعالم مباشرة: Workerman يتكلم نصاً صريحاً، والتطبيق يطلب
# ‏TLS على هذا المنفذ (‎https://…:2020‎) فتتجمّد المصافحة وينتهي بـ timeout.
# ‏nginx على المضيف يستمع على 2020 بالشهادة ويمرّر إلى 12020 هنا.
# ‏انظر nginx/siro-sockets-tls.conf
- "127.0.0.1:12020:2020"
# ‏انظر nginx/tripz-sockets-tls.conf
- "127.0.0.1:12022:2020"
# ‏و2021 داخلي فقط: الباك إند يناديه عبر http://socket_driver:2021
depends_on:
- redis
@@ -89,8 +89,8 @@ services:
env_file: .env
ports:
# ‏نفس منطق سوكيت السائقين: nginx على المضيف يستمع على 3030 بالشهادة
# ‏ويمرّر إلى 13030 هنا. و3031 داخلي فقط (http://socket_passenger:3031).
- "127.0.0.1:13030:3030"
# ‏ويمرّر إلى 13032 هنا. و3031 داخلي فقط (http://socket_passenger:3031).
- "127.0.0.1:13032:3030"
depends_on:
- redis
mem_limit: 512m
@@ -112,7 +112,7 @@ services:
- --long-query-time=0.2
- --slow-query-log-file=/var/lib/mysql/slow.log
ports:
- "127.0.0.1:33061:3306" # للإدارة من السيرفر نفسه فقط — ليس للعامة
- "127.0.0.1:33063:3306" # للإدارة من السيرفر نفسه فقط — ليس للعامة
mem_limit: 2560m
restart: unless-stopped
@@ -123,7 +123,7 @@ services:
PMA_PORT: 3306
UPLOAD_LIMIT: 300M
ports:
- "8082:80" # ادخل عليه عبر http://your-domain:8082 أو افتح بورت 8082 في CloudPanel
- "8084:80" # ادخل عليه عبر http://your-domain:8084 أو افتح بورت 8084 في CloudPanel
depends_on:
- mysql
mem_limit: 256m
@@ -2,11 +2,11 @@
# ‏إنهاء TLS أمام سوكيتات Workerman
# ══════════════════════════════════════════════════════════════════
# ‏يُنسَخ على **المضيف** لا داخل الحاويات:
# /etc/nginx/sites-enabled/siro-sockets-tls.conf
# /etc/nginx/sites-enabled/tripz-sockets-tls.conf
#
# ‏المشكلة التي يحلّها: حاويتا السوكيت تفتحان المنفذين نصاً صريحاً
# (‏new SocketIO(2020)‎ و ‎new SocketIO(3030)‎ بلا سياق SSL)، بينما
# ‏التطبيقان يطلبان ‎https://jordan-siro.intaleqapp.com:2020‎ و ‎:3030‎.
# ‏التطبيقان يطلبان ‎https://api.tripz-egypt.com:2020‎ و ‎:3030‎.
# ‏مصافحة TLS ضد منفذ لا يتكلم TLS تتجمّد حتى المهلة، فيظهر في اللوج:
# Socket Connect Error: timeout
#
@@ -22,7 +22,7 @@
# nginx: [emerg] unknown directive "http2"
# ‏اسم مميّز يتفادى التضارب مع أي map باسم ‎$connection_upgrade‎ قد يكون
# ‏CloudPanel معرِّفه أصلاً في سياق http.
map $http_upgrade $siro_connection_upgrade {
map $http_upgrade $tripz_connection_upgrade {
default upgrade;
'' close;
}
@@ -32,27 +32,27 @@ server {
listen 2020 ssl;
listen [::]:2020 ssl;
server_name jordan-siro.intaleqapp.com;
server_name api.tripz-egypt.com;
# ‏عدّل المسارين إن كانت شهادتك في مكان آخر — تحقّق بالأمر:
# grep -rh ssl_certificate /etc/nginx/sites-enabled/ | sort -u
ssl_certificate /etc/nginx/ssl-certificates/jordan-siro.intaleqapp.com.crt;
ssl_certificate_key /etc/nginx/ssl-certificates/jordan-siro.intaleqapp.com.key;
ssl_certificate /etc/nginx/ssl-certificates/api.tripz-egypt.com.crt;
ssl_certificate_key /etc/nginx/ssl-certificates/api.tripz-egypt.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_session_cache shared:SiroSock:10m;
ssl_session_cache shared:TripzSock:10m;
ssl_session_timeout 1d;
# ‏لا سجلّ وصول: نبضات GPS تصل كل ثوانٍ وتُغرق القرص
access_log off;
error_log /var/log/nginx/siro-socket-driver-error.log warn;
error_log /var/log/nginx/tripz-socket-driver-error.log warn;
location / {
proxy_pass http://127.0.0.1:12020;
proxy_pass http://127.0.0.1:12022;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $siro_connection_upgrade;
proxy_set_header Connection $tripz_connection_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
@@ -75,24 +75,24 @@ server {
listen 3030 ssl;
listen [::]:3030 ssl;
server_name jordan-siro.intaleqapp.com;
server_name api.tripz-egypt.com;
ssl_certificate /etc/nginx/ssl-certificates/jordan-siro.intaleqapp.com.crt;
ssl_certificate_key /etc/nginx/ssl-certificates/jordan-siro.intaleqapp.com.key;
ssl_certificate /etc/nginx/ssl-certificates/api.tripz-egypt.com.crt;
ssl_certificate_key /etc/nginx/ssl-certificates/api.tripz-egypt.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_session_cache shared:SiroSock:10m;
ssl_session_cache shared:TripzSock:10m;
ssl_session_timeout 1d;
access_log off;
error_log /var/log/nginx/siro-socket-passenger-error.log warn;
error_log /var/log/nginx/tripz-socket-passenger-error.log warn;
location / {
proxy_pass http://127.0.0.1:13030;
proxy_pass http://127.0.0.1:13032;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $siro_connection_upgrade;
proxy_set_header Connection $tripz_connection_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;