راهنمای عیبیابی و پرسشهای متداول (Troubleshooting & FAQ)
مجموعه خطاهای رایج توسعهدهندگان هنگام راهاندازی، اتصال APIها و دپلوی پروژه به همراه راهکارهای حل قطعی آنها.
۱. خطای CORS در درخواستهای بین سرویسها
اگر با خطای Access-Control-Allow-Origin در مرورگر مواجه شدید، مقادیر متغیرهای STORE_CORS و AUTH_CORS را در .env چک کنید:
STORE_CORS=http://localhost:8000,https://store.yourdomain.comADMIN_CORS=http://localhost:9000,https://api.yourdomain.comAUTH_CORS=http://localhost:8000,http://localhost:9000,https://store.yourdomain.com۲. عدم نمایش محصولات در فرانتاند (Publishable API Key)
علت اصلی عدم نمایش محصولات
http://localhost:9000/app)، حتماً باید وارد کلید شده و در تب Sales Channels، آن را به Default Sales Channel متصل نمایید.۳. عدم رندر سواچهای رنگی یا مشکل فیلتر رنگ
دقت کنید عنوان کلید اپشن رنگ در Medusa حتماً color یا Color باشد. برای ترجمه نام آن به زبانهای مختلف (انگلیسی، فارسی، عربی، آلمانی و ...) از Strapi استفاده کنید تا کلید اصلی رزرو شده تغییر نکند.
۴. اتمام RAM و Crash کردن سرور هنگام Build داکر
از دستورات استقرار فازبندی شده (Phased Deployment) استفاده کنید و در صورت نیاز حافظه مجازی Swap روی لینوکس فعال نمایید:
sudo fallocate -l 4G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfile۵. افزودن استایلهای جدید در سرور زنده (پروداکشن)
برای افزودن یا حذف استایلها در پروداکشن، هیچ نیازی به لاگین SSH به سرور یا اجرای دستورات ترمینال نیست. کافی است وارد پنل ادمین Strapi > منوی Storefront Management شوید، استایل مورد نظر را انتخاب کرده و دکمه Update Storefront را بزنید. گیتهاب اکشن به صورت خودکار استایل را دانلود کرده، کامیت میزند و روی سرور شما مستقر میکند.
پنل استراپی (Storefront Management) -> گیتهاب اکشن -> بیلد و دیپلوی خودکار روی VPS۶. خطای دسترسی داکر (docker.sock Permission Denied)
روی سرور تازه لینوکس ممکن است با خطای عدم دسترسی به داکر روبرو شوید. کاربر لینوکس خود را به گروه docker اضافه کنید:
sudo groupadd docker 2>/dev/null || truesudo usermod -aG docker $USERnewgrp dockerdocker ps۷. لوپ لاگین یا صفحه سفید پنل ادمین Medusa
لوپ لاگین: مطمئن شوید MEDUSA_NODE_ENV=production است. در صورت استفاده از IP و HTTP ساده (پروفایل A)، مقدار MEDUSA_ALLOW_HTTP_COOKIES=true را بگذارید. برای HTTPS مقدار را false قرار دهید.
صفحه سفید: هرگز در داکر از MEDUSA_NODE_ENV=development استفاده نکنید؛ زیرا پنل ادمین به صورت پروداکشن بیلد شده است.
MEDUSA_NODE_ENV=productionMEDUSA_ALLOW_HTTP_COOKIES=false # یا true برای پروفایل A با HTTP ساده