നിലവിലുള്ള NGINX HTTP ഫോർവേഡിംഗ് റൂട്ടിൽ എൻകോഡ് ചെയ്ത പാതകൾ സംരക്ഷിക്കുക
ഫോർവേഡിംഗ് കരാറിന് യഥാർത്ഥ പാതയും ക്വറിയും ആവശ്യമുള്ളപ്പോൾ request_uri ഉപയോഗിക്കുക, നിലവിലുള്ള ലക്ഷ്യ സ്ഥിരീകരണം നിലനിർത്തുക.
$uri ൽ നിന്ന് നിർമ്മിച്ച ഒരു റൂട്ട് ക്ലയന്റ് നൽകിയതിൽ നിന്ന് വ്യത്യസ്തമായ പാത അയച്ചേക്കാം. http://service.example/files/a%2Fb?view=raw എന്നതിന്, എസ്കേപ്പ് ചെയ്ത സ്ലാഷ് ആ യഥാർത്ഥ അക്ഷരവിന്യാസത്തിന്റെ ഭാഗമാണ്.
| ചരം | പ്രതിനിധാനം |
|---|---|
| $uri | നിലവിലെ സാധാരണവൽക്കരിച്ച URI, ആന്തരിക പ്രോസസ്സിംഗിൽ മാറിയേക്കാം |
| $request_uri | യഥാർത്ഥ അഭ്യർത്ഥന URI, അതിന്റെ ക്വറി ആർഗ്യുമെന്റുകൾ ഉൾപ്പെടെ |
ലക്ഷ്യ അധികാരം ഇതിനകം തിരഞ്ഞെടുത്ത് സ്ഥിരീകരിക്കുന്ന നിലവിലുള്ള HTTP ഫോർവേഡ്-പ്രോക്സി ക്രമീകരണത്തിൽ, യഥാർത്ഥ പാതയും ക്വറിയും ഇപ്രകാരം സംരക്ഷിക്കാം:
proxy_pass http://$http_host$request_uri;$http_host ഈ ക്രമീകരണത്തിൽ തിരഞ്ഞെടുത്ത Host ഹെഡർ അധികാരം നൽകുന്നു. ലിസണറുടെ ക്ലയന്റ് നിയന്ത്രണങ്ങൾ, ലക്ഷ്യ നയം, പേര് വിശകലന കോൺഫിഗറേഷൻ എന്നിവ നിലനിർത്തുക.
$uri$is_args$args ഈ പദപ്രയോഗം കൊണ്ട് മാറ്റിസ്ഥാപിക്കുന്നത് അയക്കുന്ന പ്രതിനിധാനം മാറ്റുന്നു; മുൻഗാമി സാധാരണവൽക്കരിച്ച പാതയും നിലവിലെ ആർഗ്യുമെന്റുകളും ഉപയോഗിക്കുന്നു. എൻഡ്പോയിന്റ് കരാറനുസരിച്ച് തിരഞ്ഞെടുക്കുക, പ്രത്യേകിച്ച് എസ്കേപ്പ് ചെയ്ത വിഭജനങ്ങൾ പ്രധാനമാകുമ്പോൾ അല്ലെങ്കിൽ ഒരു ഒപ്പ് യഥാർത്ഥ ലക്ഷ്യത്തെ ഉൾക്കൊള്ളുമ്പോൾ. ബോധപൂർവമായ പാത പുനർലേഖനത്തിന് വ്യത്യസ്ത ആവശ്യകതയുണ്ട്.
ഇത് ദൃശ്യമായ HTTP അഭ്യർത്ഥനയ്ക്ക് ബാധകമാണ്. HTTPS CONNECT ടണൽ പിന്നീടുള്ള അഭ്യർത്ഥന TLS-നുള്ളിൽ കൊണ്ടുപോകുന്നു, അതിന് സ്വന്തം പിന്തുണയുള്ള കൈകാര്യം ആവശ്യമാണ്.