HttpClient 5 ഉപയോഗിച്ചുള്ള Spring 6 RestTemplate പ്രോക്സി ക്രമീകരണങ്ങൾ
കോൺഫിഗർ ചെയ്ത റൂട്ടിനും അക്കൗണ്ടിനും പ്രാധാന്യമുള്ളത് പരാജയപ്പെടുന്ന RestTemplate അവയുമായി യോജിക്കുന്ന request factory ഉപയോഗിക്കുമ്പോൾ മാത്രമാണ്.
സജീവമായ ക്ലയന്റ് ഇൻസ്റ്റൻസ് പിന്നോട്ട് പിന്തുടരുക: RestTemplate → request factory → അടിസ്ഥാന HTTP ക്ലയന്റ് → പ്രോക്സി റൂട്ട്/അക്കൗണ്ട്. മറ്റൊരു ഇൻജെക്ട് ചെയ്ത bean-ന്റെ അടുത്ത് കോൺഫിഗർ ചെയ്ത helper ആ bean-ന്റെ വിളികൾ മാറ്റുന്നില്ല.
നിർമ്മാണ ക്രമം ഇതാണ്:
- അടിസ്ഥാന ക്ലയന്റിന്റെ പ്രോക്സി റൂട്ടും endpoint-ൽ പരിമിതപ്പെടുത്തിയ ക്രെഡൻഷ്യലുകളും ക്രമീകരിക്കുക.
- ആ ക്ലയന്റ് അനുയോജ്യമായ HTTP-components request factory-ക്ക് നൽകുക.
- പ്രവർത്തനം നടത്തുന്ന RestTemplate-ൽ ആ factory ഉപയോഗിക്കുക.
Spring Framework 6-ന്റെ factory-ക്ക് Apache HttpComponents 5.1 അല്ലെങ്കിൽ അതിനുശേഷമുള്ള പതിപ്പ് ആവശ്യമാണ്. HttpClient 4-ന്റെ builder-കൾ, ക്രെഡൻഷ്യലുകൾ, constructor-കൾ മറ്റൊരു തലമുറയിൽപ്പെടുന്നു. factory നിർമ്മാണ പിശക് 407 സൂചിപ്പിക്കുന്ന പിന്നീടുള്ള നെറ്റ്വർക്ക്/പ്രാമാണീകരണ പാതയ്ക്ക് മുൻപേ വരുന്നു.
Proxy-Authorization ചേർക്കുന്ന സാധാരണ request interceptor മുൻപത്തെ HTTPS CONNECT കൈമാറ്റം നഷ്ടപ്പെടുത്തിയേക്കാം. പ്രോക്സി, ലക്ഷ്യ അക്കൗണ്ടുകൾ അവയുടെ പിന്തുണയുള്ള transport/auth ഇന്റർഫേസുകളിൽ നിലനിർത്തുക, TLS പരിശോധന സൂക്ഷിക്കുക.
റിപ്പോർട്ടിനായി Spring/ക്ലയന്റ് തലമുറ, സജീവ bean/factory, പ്രോക്സി, അവസാന പിശക് ഘട്ടം എന്നിവ രഹസ്യങ്ങളില്ലാതെ സൂക്ഷിക്കുക.