# فهرست تنظیمات سرور اصلی برای کسی که به سرور اصلی (سرور واقعیِ مشتری‌ها) دسترسی دارد. از این نسخه به بعد، سرور تا وقتی سه مورد زیر درست نشده باشند **روشن نمی‌شود**. در گزارش سرور، فهرست کامل ایرادها با هم چاپ می‌شود؛ همه را درست کنید و یک بار دوباره راه‌اندازی کنید. این بررسی فقط در حالت اصلی (`NODE_ENV=production`) انجام می‌شود. تصویر داکرِ سرور همیشه در این حالت است. --- ## ۱. حذف کد ثابت ورود آزمایشی | متغیر | مقدار درست | |---|---| | `OTP_MASTER_CODE` | **خالی** یا کلاً حذف‌شده | تا وقتی این کد هست، هر کسی که آن را بداند وارد حساب **هر** مشتری می‌شود. > سرور **آزمایشی**ای که عمداً این کد را لازم دارد، باید کنارش > `TEST_SERVER_ALLOW_MASTER_CODE=yes` بگذارد. این را **هرگز** روی سرور اصلی > نگذارید. ## ۲. کلید جدا برای مشتری‌ها | متغیر | مقدار درست | |---|---| | `JWT_SECRET` | یک رشته‌ی تصادفی، دست‌کم ۳۲ نویسه (کلید ورود مدیرها) | | `JWT_CUSTOMER_SECRET` | یک رشته‌ی تصادفیِ **دیگر**، دست‌کم ۳۲ نویسه (کلید ورود مشتری‌ها و کارشناس‌ها) | دو مقدار **نباید یکی باشند**. ساختن مقدار تصادفی، روی هر سیستمی که Node دارد: ``` node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" ``` دو بار اجرا کنید و هر خروجی را برای یکی از دو متغیر بگذارید. ⚠ **عوض کردن این کلیدها همه را از حساب بیرون می‌کند.** مدیرها و مشتری‌ها یک بار دوباره وارد می‌شوند. اطلاعات کسی از بین نمی‌رود. ⚠ اگر `ACCOUNTING_SECRET_KEY` خالی باشد، رمز ذخیره‌شده‌ی نرم‌افزار حسابداری از `JWT_SECRET` ساخته می‌شود. با عوض شدن `JWT_SECRET` باید یک بار دوباره در «تنظیمات حسابداری» پنل وارد شوید. بهتر است `ACCOUNTING_SECRET_KEY` هم یک مقدار تصادفیِ جدا بگیرد و دیگر عوض نشود. ## ۳. نشانی‌های مجاز | متغیر | مقدار درست | |---|---| | `CORS_ORIGINS` | نشانی کامل پنل و اپ‌ها، با ویرگول جدا | نمونه: ``` CORS_ORIGINS=https://adm.henzagold.ir,https://app.henzagold.ir,https://app2.henzagold.ir ``` - هر نشانی با `https://` شروع شود و **مسیر نداشته باشد**؛ مثلاً `/admin` در آخرش نیاید. - هر دامنه‌ای که پنل یا یکی از دو اپ از آن باز می‌شود باید در فهرست باشد؛ وگرنه آن صفحه نمی‌تواند با سرور حرف بزند. - `*` پذیرفته نمی‌شود. --- ## بعد از تنظیم 1. سرور را دوباره راه‌اندازی کنید. 2. در گزارش سرور باید `Nest application successfully started` دیده شود. اگر سرور بالا نیامد، فهرست ایرادها همان‌جا چاپ شده است. 3. پنل مدیریت و هر دو اپ را باز کنید و یک بار وارد شوید. 4. ورود مشتری با پیامک را امتحان کنید. کد ثابت دیگر نباید کار کند.