এই পৃষ্ঠায় App Hosting সম্পর্কে প্রায়শই জিজ্ঞাসিত প্রশ্নের (FAQ) উত্তর দেওয়া হয়েছে।
App Hosting সম্পর্কে প্রায়শই জিজ্ঞাসিত প্রশ্ন
App Hosting-এর সাধারণ সীমাবদ্ধতা ও সমস্যার সমাধান
Cloud Run ইনফ্রাস্ট্রাকচারে সমস্যার কারণে,
us-central1-এর মতো কিছু অঞ্চলে রিসোর্স তৈরি বা আপডেট করা প্রত্যাশার চেয়ে ধীরগতির হতে পারে। কোনও নির্দিষ্ট অঞ্চলে ডেপ্লয়মেন্ট লেটেন্সি সংক্রান্ত সমস্যা হলে, Google অন্য অঞ্চলে ডেপ্লয় করার সাজেশন দেয়।App Hosting-এর জন্য CDN শুধুমাত্র তার ক্যাশে কীতে অনুরোধ হেডারের একটি নির্দিষ্ট সেট অন্তর্ভুক্ত করতে পারে। এই তালিকায় রয়েছে:
Next.js হেডার:
RSC,Next-Router-State-Tree,Next-Router-Prefetch,Next-Router-Segment-PrefetchএবংNext-Url।Cloud CDN স্ট্যান্ডার্ড হেডার:
Accept,Accept-Encoding,Access-Control-Request-Headers,Access-Control-Request-Method,Origin,Sec-Fetch-Dest,Sec-Fetch-Mode,Sec-Fetch-Site,X-Goog-Allowed-ResourcesএবংX-Origin।
মনে রাখবেন, কোনও উত্তরে যদি এমন ভ্যালু সহ
Varyহেডার থাকে যা এখানে তালিকাভুক্ত নেই, তাহলে CDN সেটি ক্যাশে করবে না।আনক্যাশড স্ট্যাটিক ফাইল Cloud Run থেকে পরিবেশন করা হয়; পরবর্তী রিলিজে, আরও ভালো পারফর্ম্যান্সের জন্য সেগুলি App Hosting অরিজিন থেকে স্টোর এবং পরিবেশন করা হবে।
ব্যাকএন্ড তৈরির সময় Firebase কনসোল মাঝে মাঝে "বিল্ড খুঁজে পাওয়া যায়নি এবং এটি ভুল" সংক্রান্ত সমস্যা দেখাতে পারে।
একই প্রোজেক্টের সব ব্যাকএন্ড একটি GitHub সংস্থা/অ্যাকাউন্ট শেয়ার করে। সেগুলি সেই সংস্থা/অ্যাকাউন্টের অধীনে বিভিন্ন রিপোজিটরির সাথে কানেক্ট করা যেতে পারে। বিভিন্ন GitHub অ্যাকাউন্টের সাথে কানেক্ট করা ব্যাকএন্ড তৈরি করতে, সেগুলিকে আলাদা প্রোজেক্টে রাখুন।
Angular অ্যাপের সীমাবদ্ধতা এবং সমস্যার সমাধানকরণ
যদিও Angular-এর জন্য App Hosting সাপোর্ট সক্রিয়ভাবে ডেভেলপমেন্ট ও সম্প্রসারণের পর্যায়ে রয়েছে, তবুও এতে নিম্নলিখিত সীমাবদ্ধতা রয়েছে:
- I18n: মূল I18n কার্যকারিতা কাজ করলেও, SSR পৃষ্ঠায় সরাসরি নেভিগেট করলে সমস্যা হতে পারে।
- লোকালাইজেশন: বিভিন্ন লোকেলের জন্য ভার্সন তৈরি করার সুবিধা কাজ করে না।
- বিল্ডার: বর্তমানে শুধুমাত্র অ্যাপ্লিকেশন বিল্ডার কাজ করে।
- এনভায়রনমেন্ট ও মোনোরেপো টুলিং: Angular প্রোজেক্টে একাধিক অ্যাপ্লিকেশন টার্গেট থাকলে তা কাজ করবে না। আরও সম্পূর্ণ মোনোরেপো সংক্রান্ত সহায়তার জন্য, Nx ব্যবহার করুন।
Angular SSR-এ HTTP 400 সংক্রান্ত সমস্যা ও প্রক্সি ট্রাস্ট
Firebase App Hosting-এ ডিপ্লয় করা আপনার Angular অ্যাপ্লিকেশনে HTTP 400 (খারাপ অনুরোধ) সমস্যা, হোস্ট যাচাইকরণ ব্লকার বা প্রক্সি ট্রাস্ট ব্যর্থতার সম্মুখীন হলে, আপনার Angular ভার্সনের জন্য সাজেস্ট করা সমাধান অনুসরণ করুন:
- Angular v19, v20, এবং v21: এই HTTP 400
সমস্যার সমাধান করার জন্য আপনার কাছে দুটি উপায় আছে:
- ডিপেন্ডেন্সি আপগ্রেড করুন: আপনার বর্তমান Angular ভার্সনের জন্য লেটেস্ট প্যাচ রিলিজ ইনস্টল করতে
npm update @angular/core @angular/ssrরান করুন। - ম্যানুয়াল কনফিগারেশন: আপনার সার্ভার কনফিগারেশনে
trustProxyHeaders: trueসেট করে কোড-লেভেল কনফিগারেশন ফলব্যাক প্রয়োগ করুন (Angular ডকুমেন্টেশনে বিশ্বস্ত প্রক্সি হেডার কনফিগার করা দেখুন)।
- ডিপেন্ডেন্সি আপগ্রেড করুন: আপনার বর্তমান Angular ভার্সনের জন্য লেটেস্ট প্যাচ রিলিজ ইনস্টল করতে
- Angular v22: নতুন ব্যাকএন্ডে প্রথম বিল্ড ৪০০ নম্বর ত্রুটি দেখাতে পারে। সমস্যার সমাধান করতে, দ্বিতীয় বিল্ড তৈরি করুন। পরবর্তী সব বিল্ড উদ্দেশ্য অনুযায়ী কাজ করা উচিত।
Next.js-এর সীমাবদ্ধতা ও সমস্যার সমাধান
- ডিফল্ট হিসেবে, App Hosting-এ বিল্ট-ইন NextJS ইমেজ অপ্টিমাইজেশন বন্ধ করা থাকে, যদি না আপনি স্পষ্টভাবে
images.unoptimized-কে false হিসেবে সেট করেন অথবা কাস্টম ইমেজ লোডার ব্যবহার করেন। Next.js-এ ইমেজ লোডিং অপ্টিমাইজ করুন দেখুন। - ডিফল্ট হিসেবে, Next.js ফাইল সিস্টেমে ক্যাশে করা পৃষ্ঠা ও ডেটা লেখে, যা
App Hosting-এ প্রতিটি সার্ভিং ইনস্ট্যান্সের মেমরিতে যোগ হয়। আপনার
ইনস্ট্যান্স
Memory limit exceededসমস্যার সাথে রিস্টার্ট হলে, Next.js-এ সার্ভার ক্যাশিং কনফিগার করুন দেখুন। - বর্তমানে, App Hosting মিডলওয়্যার ব্যবহার করে NextJS অ্যাপের জন্য ক্যাশিং সীমিত করে। সময়ের সাথে সাথে, ক্যাশে হিট রেট উন্নত হওয়া উচিত।
- URL পাথে পার্সেন্ট-এনকোডেড অক্ষর থাকলে তা Cloud Run-এর মাধ্যমে ডিকোড করা হয়। এর ফলে, শুধুমাত্র এনকোড করা URL পাথ প্রত্যাশা করে এমন ফিচারের ক্ষেত্রে সমস্যা হতে পারে, যেমন Next.js প্যারালাল রাউটিং।