अक्सर पूछे जाने वाले सवाल और समस्या का हल

इस पेज पर, App Hosting के बारे में अक्सर पूछे जाने वाले सवालों के जवाब दिए गए हैं.

App Hosting के बारे में अक्सर पूछे जाने वाले सवाल

App Hosting से जुड़ी सामान्य सीमाएं और समस्याएं हल करना

  • Cloud Run के इन्फ़्रास्ट्रक्चर में समस्या होने की वजह से, us-central1 जैसे कुछ इलाकों में संसाधन बनाने या अपडेट करने में उम्मीद से ज़्यादा समय लग सकता है. अगर किसी खास इलाके में डिप्लॉयमेंट लेटेंसी की समस्या है, तो Google का सुझाव है कि आप किसी दूसरे इलाके में डिप्लॉय करें.
  • App Hosting के सीडीएन की कैश मेमोरी की कुंजियों में, अनुरोध के हेडर का सिर्फ़ एक सेट शामिल हो सकता है. इस सूची में NextJS के 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 हेडर मौजूद है और उसकी वैल्यू यहां दी गई सूची में शामिल नहीं है, तो हमारा सीडीएन उसे कैश मेमोरी में सेव नहीं करेगा.
  • कैश मेमोरी में सेव नहीं की गई स्टैटिक फ़ाइलें, Cloud Run से उपलब्ध कराई जाती हैं. आने वाले समय में, बेहतर परफ़ॉर्मेंस के लिए उन्हें App Hosting ऑरिजिन से उपलब्ध कराया जाएगा और वहीं सेव किया जाएगा.
  • बैकएंड बनाने के दौरान, Firebase कंसोल पर कभी-कभी "बिल्ड नहीं मिला और अमान्य है" गड़बड़ी दिख सकती है.
  • एक ही प्रोजेक्ट के सभी बैकएंड, GitHub संगठन/खाता शेयर करते हैं. उन्हें उस संगठन/खाते के तहत, अलग-अलग रिपॉज़िटरी से कनेक्ट किया जा सकता है. अलग-अलग GitHub खातों से कनेक्ट किए गए बैकएंड बनाने के लिए, उन्हें अलग-अलग प्रोजेक्ट में रखें.

Angular ऐप्लिकेशन इस्तेमाल करने की सीमाएं और समस्या हल करना

हालांकि, Angular के लिए App Hosting की सुविधा को लगातार डेवलप और बेहतर किया जा रहा है, लेकिन इसमें ये सीमाएं हैं:

  • I18n: I18n की मुख्य सुविधाएं काम करती हैं, लेकिन एसएसआर पेजों पर सीधे नेविगेट करने से गड़बड़ियां हो सकती हैं.
  • स्थानीय भाषा में उपलब्ध कराना: अलग-अलग भाषाओं के लिए वर्शन बनाने की सुविधा उपलब्ध नहीं है.
  • बिल्डर: फ़िलहाल, सिर्फ़ ऐप्लिकेशन बिल्डर का इस्तेमाल किया जा सकता है.
  • एनवायरमेंट और मोनो रिपॉज़िटरी टूल: ऐसे Angular प्रोजेक्ट जो एक से ज़्यादा ऐप्लिकेशन को टारगेट करते हैं वे काम नहीं करेंगे. मोनो रिपॉज़िटरी के लिए बेहतर सहायता पाने के लिए, Nx का इस्तेमाल करें.

Angular SSR में एचटीटीपी 400 के लेवल वाली गड़बड़ियां और प्रॉक्सी ट्रस्ट

अगर Firebase App Hosting पर डिप्लॉय किए गए आपके Angular ऐप्लिकेशन में एचटीटीपी 400 (गलत अनुरोध) गड़बड़ियां, होस्ट की पुष्टि करने वाले ब्लॉकर या प्रॉक्सी ट्रस्ट से जुड़ी गड़बड़ियां आती हैं, तो अपने Angular वर्शन के लिए सुझाया गया समाधान अपनाएं:

  • Angular v19, v20, और v21: एचटीटीपी 400 गड़बड़ियों को ठीक करने के दो तरीके हैं:
    • डिपेंडेंसी अपग्रेड करें: अपने मौजूदा Angular वर्शन के लिए, सबसे नया पैच रिलीज़ इंस्टॉल करने के लिए, npm update @angular/core @angular/ssr चलाएं.
    • मैन्युअल कॉन्फ़िगरेशन: अपने सर्वर कॉन्फ़िगरेशन में trustProxyHeaders: true सेट करके, कोड-लेवल कॉन्फ़िगरेशन फ़ॉलबैक लागू करें. इसके बारे में ज़्यादा जानने के लिए, Angular के दस्तावेज़ में भरोसेमंद प्रॉक्सी हेडर कॉन्फ़िगर करना लेख पढ़ें.
  • Angular v22: नए बैकएंड पर पहली बार बिल्ड करने पर, 400 गड़बड़ियां दिख सकती हैं. इस समस्या को हल करने के लिए, दूसरा बिल्ड जनरेट करें. इसके बाद के सभी बिल्ड, सही तरीके से काम करने चाहिए.

Next.js की सीमाएं और समस्या हल करना

  • डिफ़ॉल्ट रूप से, App Hosting पर NextJS में पहले से मौजूद इमेज ऑप्टिमाइज़ेशन की सुविधा बंद होती है. हालांकि, अगर आपने images.unoptimized को साफ़ तौर पर false पर सेट किया है या कस्टम इमेज लोडर का इस्तेमाल किया है, तो यह सुविधा चालू हो जाएगी. Next.js पर इमेज लोड होने की प्रोसेस को ऑप्टिमाइज़ करने का तरीका देखें.
  • डिफ़ॉल्ट रूप से, Next.js कैश मेमोरी में सेव किए गए पेजों और डेटा को फ़ाइल सिस्टम में सेव करता है. यह App Hosting पर, हर सर्विंग इंस्टेंस की मेमोरी में गिना जाता है. अगर आपके इंस्टेंस Memory limit exceeded गड़बड़ियों के साथ रीस्टार्ट होते हैं, तो Next.js पर सर्वर कैश मेमोरी को कॉन्फ़िगर करना लेख पढ़ें.
  • फ़िलहाल, App Hosting मिडलवेयर का इस्तेमाल करने वाले NextJS ऐप्लिकेशन के लिए, कैश मेमोरी में डेटा सेव करने की सुविधा को सीमित करता है. समय के साथ, कैश मेमोरी में हिट रेट बेहतर होने चाहिए.
  • Cloud Run, प्रतिशत कोड में बदले गए वर्णों वाले यूआरएल पाथ को डिकोड करता है. इसकी वजह से, उन सुविधाओं में समस्याएं आ सकती हैं जो सिर्फ़ एन्कोड किए गए यूआरएल पाथ का इस्तेमाल करती हैं. जैसे, Next.js पैरलल रूटिंग.