From a7d5d17b9cd3aace44a9958a39c71438c62dfe65 Mon Sep 17 00:00:00 2001 From: hamed <15238-genius.ha@users.noreply.drupalcode.org> Date: Wed, 1 Jul 2026 22:57:16 +0330 Subject: [PATCH] feat(cors): update CORS settings for multi-domain production support --- .env.liara.example | 5 +++-- README.MD | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.env.liara.example b/.env.liara.example index a0ad96ee..6ce27fb9 100644 --- a/.env.liara.example +++ b/.env.liara.example @@ -41,8 +41,9 @@ TRUSTED_PROXIES=10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,127.0.0.1 # To add/remove a city domain: edit that file, then run: # ddev exec php docker/gen-cors-env.php (or: php docker/gen-cors-env.php on the server) # and paste the new output into both vars below. -ALLOWED_FRONTEND_HOSTS= -CORS_ALLOW_ORIGIN= +CORS_ALLOW_ORIGIN='^https://(ahvaz\-nobat\.ir|arak\-nobat\.ir|ardabil\-nobat\.ir|bandar\-nobat\.ir|behbahan\-nobat\.ir|birjand\-nobat\.ir|bojnord\-nobat\.ir|bushehr\-nobat\.ir|dehdasht\-nobat\.ir|esf\-nobat\.ir|golestan\-nobat\.ir|hamadan\-nobat\.ir|ilam\-nobat\.ir|karaj\-nobat\.ir|kerman\-nobat\.ir|kermanshah\-nobat\.ir|lorestan\-nobat\.ir|mashhad\-nobat\.ir|nobat724\.com|qazvin\-nobat\.ir|qom\-nobat\.ir|rasht\-nobat\.ir|sanandaj\-nobat\.ir|sari\-nobat\.ir|semnan\-nobat\.ir|shiraz\-nobat\.ir|shkord\-nobat\.ir|tabriz\-nobat\.ir|tehran\-nobat\.ir|urmia\-nobat\.ir|yasuj\-nobat\.ir|yazd\-nobat\.ir|zahedan\-nobat\.ir|zanjan\-nobat\.ir)$' + +ALLOWED_FRONTEND_HOSTS=ahvaz-nobat.ir,arak-nobat.ir,ardabil-nobat.ir,bandar-nobat.ir,behbahan-nobat.ir,birjand-nobat.ir,bojnord-nobat.ir,bushehr-nobat.ir,dehdasht-nobat.ir,esf-nobat.ir,golestan-nobat.ir,hamadan-nobat.ir,ilam-nobat.ir,karaj-nobat.ir,kerman-nobat.ir,kermanshah-nobat.ir,lorestan-nobat.ir,mashhad-nobat.ir,nobat724.com,qazvin-nobat.ir,qom-nobat.ir,rasht-nobat.ir,sanandaj-nobat.ir,sari-nobat.ir,semnan-nobat.ir,shiraz-nobat.ir,shkord-nobat.ir,tabriz-nobat.ir,tehran-nobat.ir,urmia-nobat.ir,yasuj-nobat.ir,yazd-nobat.ir,zahedan-nobat.ir,zanjan-nobat.ir # ── api.ir identity inquiry (Shahkar + IbanMatch) ── # Empty token => fail-closed (representative verification is rejected). diff --git a/README.MD b/README.MD index c6aa2a4c..d7464fd8 100644 --- a/README.MD +++ b/README.MD @@ -176,6 +176,10 @@ JWT_PASSPHRASE=<رشته تصادفی> # ── CORS ──────────────────────────────────────────────────────── CORS_ALLOW_ORIGIN='^https?://(clinic-pro\.ddev\.site|localhost)(:[0-9]+)?$' ALLOWED_FRONTEND_HOSTS=clinic-pro.ddev.site,localhost +# پروداکشن چند-دامنه‌ای (فرانتِ هر شهر): مقدار این دو متغیر را با اسکریپت بساز — +# ddev exec php docker/gen-cors-env.php +# دامنه‌ها از docker/frontend-domains.json خوانده می‌شوند؛ برای افزودن شهر، آن فایل را +# ویرایش و دوباره اجرا کن و خروجی را در env سرور بگذار. # ── صف پیام و Cache ────────────────────────────────────────────── MESSENGER_TRANSPORT_DSN=redis://redis:6379/messages @@ -224,6 +228,9 @@ ddev exec php bin/console doctrine:migrations:status ddev exec php bin/console debug:router | grep api ddev exec php bin/console debug:container | grep -i service +# ── CORS چند-دامنه‌ای (تولید CORS_ALLOW_ORIGIN + ALLOWED_FRONTEND_HOSTS) ── +ddev exec php docker/gen-cors-env.php # خروجی را در env سرور (Liara/Coolify) بگذار + # ── Queue ──────────────────────────────────────────────────────── ddev exec php bin/console messenger:consume async