http.proxyHost പങ്കെടുക്കുന്ന HTTP ക്ലയന്റിനെ റൂട്ട് ചെയ്യാൻ കഴിയും, പക്ഷേ PostgreSQL JDBC-യ്ക്ക് ഒന്നും ചെയ്യുന്നില്ല. PostgreSQL അതിന്റെ ഡാറ്റാബേസ് പ്രോട്ടോക്കോൾ അയയ്ക്കുന്നു, HTTP അഭ്യർത്ഥനയല്ല.

JDBC കണക്ഷൻ URL ഇപ്പോഴും ഡാറ്റാബേസ് സെർവറും ഡാറ്റാബേസും പേരിടണം. സെർവറിനെ HTTP പ്രോക്സി വിലാസം കൊണ്ട് മാറ്റുന്നത് ഡ്രൈവറെ CONNECT പഠിപ്പിക്കാൻ കഴിയില്ല.

SOCKS സേവനത്തിന്, JDBC-യ്ക്ക് താഴെയുള്ള സോക്കറ്റ് നടപ്പാക്കൽ പരിശോധിക്കുക. പങ്കെടുക്കുന്ന സോക്കറ്റുകൾക്ക് Java ഈ സ്റ്റാർട്ടപ്പ് പ്രോപ്പർട്ടികൾ നൽകുന്നു:

-DsocksProxyHost=203.0.113.10 -DsocksProxyPort=1080

ഡോക്യുമെന്റേഷൻ എൻഡ്പോയിന്റ് മാറ്റുക. ഇവ JVM ആർഗ്യുമെന്റുകൾ ആണ്, JDBC URL പാരാമീറ്ററുകളല്ല. അവ ഉപയോഗിക്കുമെന്ന് പ്രതീക്ഷിക്കുന്നതിന് മുമ്പ് യഥാർത്ഥ JDK/ഡ്രൈവർ സോക്കറ്റ് പാത്തും ഏതെങ്കിലും കസ്റ്റം സോക്കറ്റ് ഫാക്ടറിയും പരിശോധിക്കുക.

പ്രോപ്പർട്ടികൾ മുഴുവൻ പ്രോസസ്സിനും ബാധകമാണ്, അതിനാൽ ആഘാത വിലയിരുത്തലിൽ മറ്റ് കണക്ഷനുകളും ഉൾപ്പെടുത്തുക. ഡാറ്റാബേസ് ട്രാഫിക് മാത്രം ഈ പാതയിലൂടെ പോകേണ്ടതുണ്ടെങ്കിൽ രേഖപ്പെടുത്തിയ സമർപ്പിത കണക്ടറോ അംഗീകൃത ടണലോ കൂടുതൽ വ്യക്തമായ അതിർത്തി നൽകാം.

പ്രോക്സിക്ക് ഇപ്പോഴും ഡാറ്റാബേസ് പോർട്ടിലേക്ക് അനുമതിയും പ്രാപ്യതയും ആവശ്യമാണ്. തുടർന്ന് ഡാറ്റാബേസ് ഹോസ്റ്റ് ആക്സസ് നിയമങ്ങളും ലക്ഷ്യ TLS-ഉം സ്വന്തം ലോഗിനും പ്രയോഗിക്കുന്നു. സർട്ടിഫിക്കറ്റിന്റെ ഹോസ്റ്റ്നാമം സംരക്ഷിക്കുക, ഡാറ്റാബേസ് അക്കൗണ്ട് പ്രോക്സി അക്കൗണ്ടിൽ നിന്ന് വേർതിരിച്ച് നിർത്തുക.

ആദ്യം പരാജയപ്പെട്ട ഘട്ടം രേഖപ്പെടുത്തുക: പ്രോക്സി കണക്ഷൻ, ചർച്ചകൾ, ഡാറ്റാബേസ് TCP, TLS അല്ലെങ്കിൽ ഡാറ്റാബേസ് ലോഗിൻ. ആ തെളിവ് അടുത്ത മാറ്റം തിരിച്ചറിയുന്നു; ഉപയോഗിക്കാത്ത HTTP പ്രോപ്പർട്ടികൾ ആവർത്തിച്ച് ക്രമീകരിച്ച് അത് ചെയ്യാൻ കഴിയില്ല.

അനുബന്ധ ലേഖനങ്ങൾ