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