നിലവിലുള്ള HTTP പ്രോക്സിയിലേക്ക് SSH ലോക്കൽ ഫോർവേഡ്: രണ്ട് loopback വിലാസങ്ങൾ
SSH ഹോസ്റ്റിലുള്ള നിലവിലുള്ള പ്രോക്സിക്ക് ഒരു ലോക്കൽ ഫോർവേഡിലൂടെ ഒരു ആപ്ലിക്കേഷന് സേവനം നൽകാം. രണ്ട് loopback വിലാസങ്ങളും പ്രോക്സി പ്രോട്ടോക്കോളും വേർതിരിച്ച് സൂക്ഷിക്കുക.
നിങ്ങളുടെ അംഗീകൃത പ്രോക്സി ഒരു ജംപ് ഹോസ്റ്റിൽ പ്രവർത്തിക്കുന്നു, അവിടെ അത് loopback ൽ മാത്രം കേൾക്കുന്നു, അതിനാൽ ആ മെഷീന് പുറത്തുനിന്ന് ഒന്നും അതിൽ എത്താൻ കഴിയില്ല. നിങ്ങൾക്ക് VPN അല്ലെങ്കിൽ പുതിയ പ്രോക്സി ആവശ്യമില്ല; നിങ്ങൾക്ക് ആ മെഷീന്റെ ഒരു പോർട്ട് നിങ്ങളുടെ ഒരു പോർട്ടിലേക്ക് കൊണ്ടുവരേണ്ടതുണ്ട്. ലോക്കൽ ഫോർവേഡ് കൃത്യമായി അതാണ് ചെയ്യുന്നത്, അതിന് ഒരു കമാൻഡും ആപ്ലിക്കേഷന്റെ ഒരു ക്രമീകരണവും വേണം. ആശയക്കുഴപ്പം സാധാരണയായി ഏത് loopback വിലാസം ഏത് മെഷീനിന്റേതാണെന്ന് കൂട്ടിക്കലർത്തുന്നതിൽ നിന്നാണ് ഉണ്ടാകുന്നത്.
നിശ്ചിത പ്രോക്സി ഇതിനകം ഉണ്ടോ എന്ന് തീരുമാനിക്കുക
ഈ സാങ്കേതികത ഇതിനകം പ്രവർത്തിക്കുന്ന ഒരു സേവനം ഫോർവേഡ് ചെയ്യുന്നു. റിമോട്ട് ഹോസ്റ്റിൽ SSH ഡീമൺ മാത്രമുണ്ടെങ്കിൽ, പ്രോക്സി ഇല്ലെങ്കിൽ, എത്ര ഫോർവേഡ് ചെയ്താലും അത് സൃഷ്ടിക്കപ്പെടില്ല, കണക്ഷൻ റിമോട്ട് വശത്തുനിന്ന് നിരസിക്കപ്പെടും. പ്രോക്സി ബന്ധിപ്പിച്ചിട്ടുണ്ടോ, അതിന്റെ പോർട്ട് ഏതാണ്, അത് 127.0.0.1 ൽ ആണോ ഒരു നിർദ്ദിഷ്ട ഇന്റർഫേസ് വിലാസത്തിൽ ആണോ കേൾക്കുന്നത് എന്ന് ഉറപ്പാക്കുക, കാരണം ഫോർവേഡ് ലക്ഷ്യമിടേണ്ടത് ആ വിലാസമാണ്.
ഇത് ആദ്യം ഉറപ്പാക്കിയാൽ, ഒരിക്കലും ഒന്നുമായി ബന്ധിപ്പിക്കാത്ത ഒരു ടണൽ ഡീബഗ് ചെയ്യേണ്ടിവരില്ല.
ഫോർവേഡ് നിർമ്മിച്ച് കമാൻഡ് വായിക്കുക
നിങ്ങൾക്ക് ആവശ്യമുള്ള രൂപം നിങ്ങളുടെ ലാപ്ടോപ്പിൽ ഒരു loopback പോർട്ട് ബന്ധിപ്പിക്കുകയും സർവറിന്റെ വശത്തുനിന്ന് അതിനെ പ്രോക്സിയുടെ വിലാസത്തിലേക്ക് സർവർ കാണുന്ന രീതിയിൽ ബന്ധിപ്പിക്കുകയും ചെയ്യുന്നു.
ssh -NT -o ControlPath=none -o ExitOnForwardFailure=yes \
-L 127.0.0.1:13128:127.0.0.1:3128 [email protected]-N റിമോട്ട് കമാൻഡ് അടിച്ചമർത്തുന്നു, -T termios അനുവദനം അടിച്ചമർത്തുന്നു, കാരണം നിങ്ങൾക്ക് ഷെൽ അല്ല, ടണൽ ആണ് വേണ്ടത്. ആദ്യ loopback വിലാസം ലാപ്ടോപ്പ് കേൾക്കുന്ന സ്ഥലമാണ്; രണ്ടാമത്തേത് SSH സർവർ പരിഹരിക്കുന്നു, അതിനാൽ അവിടെയുള്ള 127.0.0.1 ആ മെഷീനിലെ പ്രോക്സിയെ അർത്ഥമാക്കുന്നു. ExitOnForwardFailure ലോക്കൽ പോർട്ട് ഇതിനകം ഉപയോഗത്തിലാണെങ്കിൽ ഒന്നും ഫോർവേഡ് ചെയ്യാത്ത ഒരു സെഷൻ തുടങ്ങുന്നതിനുപകരം കമാൻഡ് ഉച്ചത്തിൽ പരാജയപ്പെടുത്തുന്നു. ലക്ഷ്യ വിലാസം സർവർ പരിഹരിക്കുന്ന രീതിയിൽ എഴുതുക, കാരണം നിങ്ങളുടെ ലാപ്ടോപ്പിന് മാത്രം പരിഹരിക്കാൻ കഴിയുന്ന ഒരു പേര് മറുവശത്ത് പരാജയപ്പെടും.
ഇവയിലൊന്നും പ്രവർത്തിക്കുന്നതിന് മുമ്പ് സർവറിന്റെ സ്വന്തം നയം ബാധകമാണ്. AllowTcpForwarding അത് അനുവദിക്കണം, PermitOpen ഒരു സെഷന് ഏത് ലക്ഷ്യങ്ങളിലേക്കും പോർട്ടുകളിലേക്കും എത്താമെന്ന് പരിമിതപ്പെടുത്തിയേക്കാം, അതിനാൽ ക്ലയന്റ് സ്വീകരിക്കുന്ന ഒരു ഫോർവേഡ് സർവർ ഇപ്പോഴും നിരസിക്കാം. നിരസിക്കൽ ക്ലയന്റിൽ ഒരു ഫോർവേഡ് അല്ലെങ്കിൽ ചാനൽ പിശകായി പ്രത്യക്ഷപ്പെടുന്നു, ആ സന്ദേശം വായിക്കുന്നത് കമാൻഡ് തിരുത്തുന്നതിനേക്കാൾ വേഗമാണ്.
ഒരു ആപ്ലിക്കേഷനെ ഫോർവേഡിലേക്ക് തിരിച്ചുവിടുക
http://127.0.0.1:13128 ൽ HTTP പ്രോക്സി ഉപയോഗിക്കാൻ ആപ്ലിക്കേഷൻ ക്രമീകരിക്കുക, റിമോട്ട് പ്രോക്സി ആവശ്യപ്പെടുന്നെങ്കിൽ ക്രെഡൻഷ്യലുകളും നൽകുക. HTTPS ലക്ഷ്യങ്ങൾക്ക് ആപ്ലിക്കേഷന്റെ സ്വന്തം സർട്ടിഫിക്കറ്റ് പരിശോധന നിലനിർത്തുക, കാരണം പ്രോക്സി ടണൽ അത് മാറ്റിസ്ഥാപിക്കുന്നില്ല. ഇത് ഒരു സേവനത്തിന്റെ നിശ്ചിത ഫോർവേഡാണ്, അതിനാൽ ആപ്ലിക്കേഷനോട് ഒരു പ്രോക്സി ഉണ്ടെന്ന് പറയണം, അത് സ്വയം കണ്ടെത്താൻ വിടരുത്.
ഏതെങ്കിലും സ്ഥിരമായ ക്രമീകരണത്തിന് മുമ്പ് ഒരു വേഗ പരിശോധന: curl -x http://127.0.0.1:13128 -I https://example.com, ഇത് പ്രോക്സി പിന്തുണയ്ക്കേണ്ട HTTP CONNECT രീതി പരിശീലിപ്പിക്കുന്നു.
അധികാരം ഉണ്ടായിരുന്നിടത്ത് തന്നെ നിലനിർത്തുക
റിമോട്ട് പ്രോക്സി ഇപ്പോഴും ഏത് ലക്ഷ്യങ്ങളും രീതികളും അനുവദിക്കുന്നു എന്ന് തീരുമാനിക്കുന്നു, SSH ലോഗിൻ ഓരോ അക്കൗണ്ടിനും നിശബ്ദമായി ഒരു പൊതു വെബ് റിലേ നൽകരുത്. ലാപ്ടോപ്പിൽ 127.0.0.1 ലേക്ക് ബന്ധിപ്പിക്കുന്നത് പോർട്ട് നിങ്ങളുടെ ലോക്കൽ നെറ്റ്വർക്കിൽ പ്രസിദ്ധീകരിക്കുന്നത് ഒഴിവാക്കുന്നു, അത് ഒരേ മെഷീനിലെ മറ്റ് പ്രോസസുകളിൽനിന്ന് പോർട്ട് സ്വകാര്യമാക്കുന്നുമില്ല. ആ ബന്ധനം പ്രോക്സി പങ്കിടാൻ wildcard വിലാസം കൊണ്ട് മാറ്റിസ്ഥാപിക്കുന്നതാണ് നിയന്ത്രണമില്ലാത്ത തുറന്ന റിലേ ഉണ്ടാകുന്ന വഴി.
SSH ഗതാഗതം സർവർ വരെയുള്ള ചാട്ടം സംരക്ഷിക്കുന്നു. ആ ബിന്ദുവിനപ്പുറം പ്രോക്സി സ്വന്തം കണക്ഷൻ തുറക്കുന്നു, അതിനാൽ ഒരു ലക്ഷ്യത്തിലേക്കുള്ള സാധാരണ HTTP അഭ്യർത്ഥന സർവറിനപ്പുറവും സാധാരണമായി തുടരുന്നു, ആദ്യ ഭാഗം എൻക്രിപ്റ്റ് ചെയ്തിരുന്നെങ്കിലും.
രണ്ട് അറ്റങ്ങളും പരിശോധിച്ച്, പിന്നീട് വൃത്തിയാക്കുക
ലോക്കൽ ടണൽ ക്രമീകരണവും റിമോട്ട് സേവനത്തിന്റെ വിജയവും വ്യത്യസ്ത ഫലങ്ങളാണ്, കമാൻഡിന്റെ എക്സിറ്റ് സ്റ്റാറ്റസ് നിങ്ങളോട് ആദ്യത്തേതിനെക്കുറിച്ച് മാത്രം പറയുന്നു. ss -ltn ഉപയോഗിച്ച് ശ്രോതാവ് ഉണ്ടോ എന്ന് പരിശോധിക്കുക, പിന്നീട് അനുവദനീയമായ ഒരു ആപ്ലിക്കേഷൻ അഭ്യർത്ഥനയും പ്രോക്സി നിരസിക്കേണ്ട ഒരു അഭ്യർത്ഥനയും നടത്തുക. രണ്ടും പ്രതീക്ഷിച്ചതുപോലെ പെരുമാറിയാൽ പാത യഥാർത്ഥമാണ്; ടണൽ പ്രവർത്തിക്കുകയും എല്ലാ അഭ്യർത്ഥനകളും പരാജയപ്പെടുകയും ചെയ്താൽ, പ്രോക്സി നിരസിക്കുന്നു അല്ലെങ്കിൽ ലക്ഷ്യത്തിൽ എത്താൻ കഴിയുന്നില്ല.
പൂർത്തിയാകുമ്പോൾ, അത് കൈവശമുള്ള SSH പ്രോസസ് നിർത്തുക, ആപ്ലിക്കേഷനിൽനിന്ന് പ്രോക്സി ക്രമീകരണം നീക്കുക, ജോലിയെക്കാൾ അധികം ജീവിക്കുന്ന ഒരു ശ്രോതാവിനെ വിട്ടേക്കാതെ ലോക്കൽ പോർട്ട് പോയെന്ന് ഉറപ്പാക്കുക.