Firebase Admin Node httpAgent: സേവനം അനുസരിച്ചുള്ള പ്രോക്സി കവറേജ്
എല്ലാ SDK ട്രാഫിക്കും ഒരേ പ്രോക്സി ഉപയോഗിക്കുന്നു എന്ന് അനുമാനിക്കുന്നതിന് മുമ്പ് ഏത് Firebase Admin Node പ്രവർത്തനങ്ങളാണ് കോൺഫിഗർ ചെയ്ത HTTP ഏജന്റ് ഉപയോഗിക്കുന്നതെന്ന് കണ്ടെത്തുക.
ഒരു ഓതന്റിക്കേഷൻ കോൾ പ്രോക്സി വഴി പ്രവർത്തിക്കുന്നു, പക്ഷേ ഡാറ്റാബേസ് കണക്ഷൻ പരാജയപ്പെടുന്നു. Firebase ആപ്ലിക്കേഷനിൽ ഇത് ഇടയ്ക്കിടെയുള്ള പ്രോക്സിയല്ല, മറിച്ച് ട്രാൻസ്പോർട്ട് വ്യത്യാസമായിരിക്കാം.
Admin Node SDK-യുടെ httpAgent ആപ്ലിക്കേഷൻ ഓപ്ഷൻ REST കോളുകൾ നടത്തുന്ന സേവനങ്ങൾക്ക് ബാധകമാണ്, അവയിൽ Auth-ഉം Messaging-ഉം ഉൾപ്പെടുന്നു. അതിന്റെ രേഖപ്പെടുത്തിയ പരിധിയിൽ Realtime Database-ഉം Firestore-ഉം ഉൾപ്പെടുന്നില്ല. ക്രെഡൻഷ്യൽ ഒബ്ജക്റ്റുകൾക്കും അനുബന്ധ ക്രെഡൻഷ്യൽ ഫാക്ടറി രീതികൾ വഴി സ്വന്തം ഏജന്റ് കോൺഫിഗറേഷനുണ്ട്.
| പരാജയപ്പെടുന്ന പ്രവർത്തനം | പരിശോധിക്കേണ്ട കോൺഫിഗറേഷൻ |
|---|---|
| Admin REST സേവന കോൾ | ആപ്ലിക്കേഷന്റെ HTTP ഏജന്റ് |
| ക്രെഡൻഷ്യൽ ടോക്കൺ നേടൽ | ക്രെഡൻഷ്യൽ ഒബ്ജക്റ്റിന്റെ HTTP കോൺഫിഗറേഷൻ |
| ഡാറ്റാബേസ് കണക്ഷൻ | ഡാറ്റാബേസ് ക്ലയന്റിന്റെ സ്വന്തം ട്രാൻസ്പോർട്ട് പിന്തുണ |
അതുകൊണ്ടാണ് ഇനിഷ്യലൈസേഷനിൽ ഏജന്റ് ചേർത്താൽ തുടർന്നുള്ള എല്ലാ കണക്ഷനുകളും ഒരേ പാതയിലൂടെ പോകുമെന്ന് ഉറപ്പിക്കാനാകാത്തത്. മറ്റൊരു സേവനത്തിന് ഇതിനകം പ്രവർത്തിക്കുന്ന കോൺഫിഗറേഷൻ മാറ്റുന്നതിന് മുമ്പ് പരാജയപ്പെടുന്ന സേവനവും ലക്ഷ്യവും രേഖപ്പെടുത്തുക.
പഴയ ചർച്ചകൾ Firebase കമാൻഡ് ലൈൻ ടൂളിനെ ആപ്ലിക്കേഷൻ SDK-കളുമായി കൂട്ടിക്കലർത്തുന്നു. http_proxy വായിക്കാനുള്ള CLI പരിഹാരം നിങ്ങളുടെ Node പ്രോസസ്സിനുള്ളിലെ ഡാറ്റാബേസ് ക്ലയന്റ് അതേ ഓപ്ഷൻ ഉപയോഗിക്കുന്നു എന്ന് തെളിയിക്കുന്നില്ല.
യഥാർത്ഥത്തിൽ ആവശ്യമുള്ള ട്രാൻസ്പോർട്ടിന് പിന്തുണയുള്ള കോൺഫിഗറേഷൻ ഇന്റർഫേസ് ഉപയോഗിക്കുക. നെസ്റ്റഡ് WebSocket ഡിപ്പെൻഡൻസി പാച്ച് ചെയ്യുന്നത് ഒരു കണക്ഷനെ ബാധിക്കുന്നതായി തോന്നാം, അതേസമയം മറ്റൊരു പാത മാറ്റമില്ലാതെ തുടരും, കൂടാതെ ഭാവിയിലെ ഡിപ്പെൻഡൻസി അപ്ഡേറ്റ് മനസ്സിലാക്കാൻ ഇത് ബുദ്ധിമുട്ടാക്കുന്നു.