इस पेज पर, 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 ऐप्लिकेशन से जुड़ी सीमाएं और समस्याएं हल करना
हालांकि, App Hosting के लिए Angular का इस्तेमाल करने की सुविधा पर अब भी काम चल रहा है और इसे बढ़ाया जा रहा है. हालांकि, इसकी कुछ सीमाएं हैं:
- I18n: I18n की मुख्य सुविधा काम करती है. हालांकि, सीधे तौर पर SSR पेजों पर जाने से गड़बड़ियां हो सकती हैं.
- स्थानीय भाषा में उपलब्ध कराना: अलग-अलग भाषाओं के लिए वर्शन बनाने की सुविधा उपलब्ध नहीं है.
- बिल्डर: फ़िलहाल, सिर्फ़ ऐप्लिकेशन बिल्डर का इस्तेमाल किया जा सकता है.
- एनवायरमेंट और Monorepo टूलिंग: एक से ज़्यादा ऐप्लिकेशन टारगेट वाले Angular प्रोजेक्ट काम नहीं करेंगे. मोनोरिपो के लिए, Nx का इस्तेमाल करें.
Angular SSR में एचटीटीपी 400 गड़बड़ियां और प्रॉक्सी पर भरोसा करना
अगर Firebase App Hosting पर डिप्लॉय किए गए आपके Angular ऐप्लिकेशन में, HTTP 400 (गलत अनुरोध) गड़बड़ियां, होस्ट की पुष्टि करने वाले ब्लॉकर या प्रॉक्सी ट्रस्ट से जुड़ी गड़बड़ियां आती हैं, तो अपने Angular वर्शन के लिए सुझाया गया समाधान अपनाएं:
- Angular v19, v20, और v21: एचटीटीपी 400
गड़बड़ियों को ठीक करने के लिए, आपके पास दो तरीके हैं:
- डिपेंडेंसी अपग्रेड करें: अपने मौजूदा Angular वर्शन के लिए, सबसे नया पैच रिलीज़ इंस्टॉल करने के लिए
npm update @angular/core @angular/ssrचलाएं. - मैन्युअल कॉन्फ़िगरेशन: कोड-लेवल पर कॉन्फ़िगरेशन फ़ॉलबैक लागू करने के लिए, अपने सर्वर कॉन्फ़िगरेशन में
trustProxyHeaders: trueसेट करें. इसके लिए, Angular के दस्तावेज़ में भरोसेमंद प्रॉक्सी हेडर कॉन्फ़िगर करना लेख पढ़ें.
- डिपेंडेंसी अपग्रेड करें: अपने मौजूदा Angular वर्शन के लिए, सबसे नया पैच रिलीज़ इंस्टॉल करने के लिए
- Angular v22: नए बैकएंड पर पहली बार बिल्ड करने पर, 400 गड़बड़ियां दिख सकती हैं. इस समस्या को हल करने के लिए, दूसरा बिल्ड जनरेट करें. इसके बाद की सभी बिल्ड, उम्मीद के मुताबिक काम करनी चाहिए.
Next.js की सीमाएं और समस्या हल करना
- डिफ़ॉल्ट रूप से, App Hosting पर NextJS में इमेज ऑप्टिमाइज़ करने की सुविधा बंद होती है. इसे तब तक चालू नहीं किया जा सकता, जब तक कि
images.unoptimizedको फ़ॉल्स पर सेट न किया जाए या कस्टम इमेज लोडर का इस्तेमाल न किया जाए. Next.js पर इमेज लोड होने की प्रोसेस को ऑप्टिमाइज़ करना लेख पढ़ें. - फ़िलहाल, App Hosting, मिडलवेयर का इस्तेमाल करने वाले NextJS ऐप्लिकेशन के लिए कैश मेमोरी को सीमित करता है. समय के साथ, कैश मेमोरी हिट रेट बेहतर होने चाहिए.
- प्रतिशत के तौर पर कोड में बदले गए वर्णों वाले यूआरएल पाथ को Cloud Run डिकोड करता है. इससे उन सुविधाओं में समस्याएं आ सकती हैं जिनके लिए सिर्फ़ एन्कोड किए गए यूआरएल पाथ की ज़रूरत होती है. जैसे, Next.js पैरलल राउटिंग.