ضبط بورتات الدوكر لتفادي التعارض مع siro
This commit is contained in:
@@ -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;
|
||||
Reference in New Issue
Block a user