Goയുടെ എൻവയോൺമെന്റ് അടിസ്ഥാനമാക്കിയ പ്രോക്സി സെലക്ടറിൽ localhostനും ലൂപ്പ്ബാക്ക് IP ലക്ഷ്യങ്ങൾക്കും അന്തർനിർമിത ഒഴിവുണ്ട്. NO_PROXY ശൂന്യമാക്കുന്നത് ഈ ഒഴിവ് നീക്കില്ല. അതിനാൽ പ്രാദേശിക പരീക്ഷണം നേരിട്ട് ബന്ധപ്പെടുമ്പോഴും പൊതുവായ ഹോസ്റ്റ് പേരിലേക്കുള്ള അഭ്യർത്ഥന പ്രതീക്ഷിച്ചതുപോലെ പ്രോക്സി ഉപയോഗിച്ചേക്കാം.

നിയമം അഭ്യർത്ഥനയുടെ ലക്ഷ്യത്തെക്കുറിച്ചാണ്. സ്വന്തം വിലാസം 127.0.0.1 ആയ പ്രോക്സി ലിസണർ ഉപയോഗിക്കുന്നതിന് ഇത് തടസ്സമല്ല.

അഭ്യർത്ഥന അയയ്ക്കാതെ സെലക്ടർ പരിശോധിക്കുക

package main

import (
    "fmt"
    "net/http"
    "net/url"
)

func main() {
    fixed, _ := url.Parse("http://203.0.113.10:8080")
    for _, target := range []string{
        "http://localhost:8000/",
        "http://127.0.0.1:8000/",
        "http://example.com/",
    } {
        request, _ := http.NewRequest("GET", target, nil)
        discovered, err := http.ProxyFromEnvironment(request)
        explicit, _ := http.ProxyURL(fixed)(request)
        fmt.Println(target, discovered, explicit, err)
    }
}

എൻവയോൺമെന്റുമായുള്ള താരതമ്യം കാണണമെങ്കിൽ പ്രോസസിനായി പ്രോക്സി വേരിയബിളുകൾ സജ്ജമാക്കി പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കുക. പ്രോഗ്രാം സെലക്ടറുകളുടെ ഫലം മാത്രം വിലയിരുത്തുന്നു; ഡോക്യുമെന്റേഷനിലെ മാതൃകാ പ്രോക്സിയിലേക്കോ ഏതെങ്കിലും ലക്ഷ്യത്തിലേക്കോ ബന്ധപ്പെടുന്നില്ല.

എൻവയോൺമെന്റിൽ നിന്നുള്ള കണ്ടെത്തലും വ്യക്തമായ സെലക്ടറും വ്യത്യസ്ത നയങ്ങളാണ്

ProxyFromEnvironment ലക്ഷ്യത്തിന്റെ സ്കീം, എൻവയോൺമെന്റ് ക്രമീകരണങ്ങൾ, ലൂപ്പ്ബാക്കിനുള്ള പ്രത്യേക കൈകാര്യം ഉൾപ്പെടെയുള്ള ഒഴിവാക്കൽ നിയമങ്ങൾ എന്നിവ പരിഗണിക്കുന്നു. ProxyURL ആ സെലക്ടറിനു നൽകുന്ന ഓരോ അഭ്യർത്ഥനയ്ക്കും നൽകിയ പ്രോക്സി URL തിരികെ നൽകുന്നു.

അതിനാൽ വ്യക്തമായ ProxyURL ഉള്ള പ്രത്യേക ട്രാൻസ്പോർട്ടിന് പ്രാദേശിക ലക്ഷ്യത്തിലേക്കുള്ള അഭ്യർത്ഥന പ്രോക്സിയിലൂടെ അയയ്ക്കാം. ആവശ്യപ്പെട്ട ലക്ഷ്യത്തിൽ നിയമാനുസൃതമായി എത്താൻ പ്രോക്സിക്കു കഴിയുമ്പോൾ മാത്രമാണ് ഇത് പ്രയോജനകരം. വിദൂര പ്രോക്സിയുടെ localhost നിങ്ങളുടെ ലാപ്ടോപ്പിന്റെ localhost അല്ല; അതിനാൽ വഴി നിർബന്ധിക്കുന്നത് സ്വയം ഉപകാരപ്രദമായ കണക്റ്റിവിറ്റി പരിശോധനയാകില്ല.

പ്രോസസ് എൻവയോൺമെന്റ് കാഷ് ചെയ്യുന്നതിനു മുമ്പ് പരിശോധിക്കുക

സ്റ്റാൻഡേർഡ് net/httpയുടെ എൻവയോൺമെന്റ് പ്രോക്സി കോൺഫിഗറേഷൻ ആദ്യ ഉപയോഗത്തിനു ശേഷം കാഷ് ചെയ്യപ്പെടുന്നു. പിന്നീട് അതേ പ്രവർത്തിക്കുന്ന പ്രോഗ്രാമിൽ എൻവയോൺമെന്റ് വേരിയബിൾ മാറ്റുന്നത് പുതിയ കോൺഫിഗറേഷനിലുള്ള പരിശോധന ആവർത്തിക്കാൻ വിശ്വസനീയമായ മാർഗമല്ല. ഉദ്ദേശിച്ച മൂല്യങ്ങളോടെ പുതിയ പ്രോസസ് ആരംഭിക്കുക, അല്ലെങ്കിൽ പെരുമാറ്റം നിങ്ങൾ നിയന്ത്രിക്കുന്ന വ്യക്തമായ സെലക്ടർ നൽകുക.

ഈ ലൂപ്പ്ബാക്ക് പെരുമാറ്റം Go 1.27.3യുടെ സ്റ്റാൻഡേർഡ് പ്രോക്സി സെലക്ടറിനാണ് ബാധകം. മറ്റു ഭാഷകളും HTTP ക്ലയന്റുകളും localhostനായി വ്യത്യസ്ത റൂട്ടിങ് നിയമങ്ങൾ ഉപയോഗിച്ചേക്കാം.

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