Does Render support middleware.ts on node or on edge?

I’m adding supabase auth service to my nextjs app where I need to hook up middleware.ts to refresh tokens.

But middleware.ts is treated special by next in terms of running it on the edge by default:

“Middleware defaults to using the Edge runtime. As of v15.2 (canary), we have experimental support for using the Node.js runtime.”

My question is how does Render treat middleware for deployed applications? Are there any documentations, best practices, code examples we can follow?

Thanks in advance for any pointer on this topic.

به نظر می‌رسد که مشکل مربوط به مجوزهای نوشتن روی فایل‌ها در محیط رندرینگ باشد. برخی از سرویس‌های هاستینگ، مانند Render، مجوز نوشتن مستقیم روی سیستم فایل را محدود می‌کنند و تغییرات ایجاد شده فقط در حافظه موقت باقی می‌مانند.

برای حل این بررسی کنید:

  1. بررسی مجوزها: مطمئن شوید که مسیرهایی که قصد نوشتن در آنها را دارید، دارای دسترسی مناسب هستند. در برخی از سرویس‌ها، فقط دایرکتوری‌های خاصی اجازه تغییر دارند.

  2. استفاده از پایگاه داده یا فضای ذخیره‌سازی ابری: به جای نوشتن مستقیم روی فایل‌ها، می‌توانید داده‌های خود را در پایگاه داده یا یک سرویس ذخیره‌سازی مانند AWS S3 یا Firebase قرار دهید و هنگام بارگذاری محتوا، فایل‌ها را از آنجا بخوانید.

  3. بررسی تنظیمات گیت‌هاب و رندر: فایل‌هایی که مستقیماً از طریق گیت‌هاب مستقر می‌شوند، ممکن است در محیط اجرای برنامه به‌روزرسانی نشوند. بررسی کنید که آیا تغییرات به درستی در گیت‌هاب اعمال شده‌اند و سرویس رندر، آخرین نسخه را دریافت کرده است یا نه.

  4. استفاده از داینامیک فایل‌های موقت: برخی از هاستینگ‌ها فایل‌هایی را که در هنگام اجرا تغییر می‌دهید ذخیره نمی‌کنند، مگر اینکه از دیتابیس یا APIهای خارجی استفاده کنید. بررسی کنید که فایل‌ها در هنگام اجرا به‌درستی بازیابی و نمایش داده می‌شوند.

  5. بررسی خطاها: مطمئن شوید که fs.writeFile خطایی را در حین اجرای کد ثبت نمی‌کند. می‌توانید پیام‌های خطا را در لاگ بررسی کنید.

اگر باز هم مشکل دارید، می‌توانید یک نمونه از کدتان را ارسال کنید تا دقیق‌تر بررسی کنیم! :blush:

در تاریخ پنجشنبه ۲۹ مهٔ ۲۰۲۵،‏ ۸:۴۴ ب.ظ cshakeri via Render <notifications@render.discoursemail.com> نوشت: