Kungani i-Go yeqa ummeleli we-localhost
Hlukanisa okuhlukile kwe-loopback okwakhelwe ku-Go ne-NO_PROXY, uqhathanise ukuqondiswa kwendlela ngemvelo ne-ProxyURL ecacile.
Isikhethi sommeleli se-Go esisekelwe emvelweni sinokuhlukile okwakhelwe ngaphakathi kwe-localhost nezindawo okuya kuzo ezinama-IP e-loopback. Ukusula i-NO_PROXY akukususi lokho okuhlukile. Ngakho isivivinyo sasendaweni singaxhuma ngqo kuyilapho isicelo egameni lomsingathi elisesidlangalaleni sisebenzisa ummeleli njengoba kulindelwe.
Umthetho uphathelene nendawo okuya kuyo isicelo. Awukuvimbeli ukusebenzisa isilaleli sommeleli esinekheli laso elithi 127.0.0.1.
Hlola isikhethi ngaphandle kokuthumela isicelo
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)
}
}
Uma ufuna ukubona ukuqhathanisa nemvelo, sebenzisa uhlelo sekusethwe iziguquguquki zommeleli zenqubo. Uhlelo luhlola izikhethi kuphela; aluxhumi kummeleli wesibonelo semibhalo noma kunoma iyiphi indawo okuya kuyo.
Ukuthola ngemvelo nesikhethi esicacile kuyizinqubomgomo ezahlukene
I-ProxyFromEnvironment ibheka isikimu sendawo okuya kuyo, izilungiselelo zemvelo nemithetho yokweqa, kuhlanganise nokuphathwa kwayo okukhethekile kwe-loopback. I-ProxyURL ibuyisa i-URL yommeleli enikeziwe yaso sonke isicelo esidluliselwe kuleso sikhethi.
Ngakho i-transport ezinikele ene-ProxyURL ecacile ingathumela isicelo sendawo yasendaweni ngommeleli. Lokho kuwusizo kuphela uma ummeleli engafinyelela ngokusemthethweni endaweni eceliwe. I-localhost yommeleli okude ayiyona i-localhost yekhompyutha yakho ephathekayo, ngakho ukuphoqa indlela akubi ngokuzenzakalelayo isivivinyo esiwusizo sokuxhuma.
Hlola ngaphambi kokuba inqubo igcine imvelo yayo ku-cache
Ukucushwa kommeleli ngemvelo ku-net/http evamile kugcinwa ku-cache ngemva kokusetshenziswa kokuqala. Ukushintsha isiguquguquki semvelo kamuva kulolo hlelo olusaqhubeka akuyona indlela ethembekile yokuphinda isivivinyo ngokucushwa okusha. Qala inqubo entsha ngamanani ahlosiwe, noma unikeze isikhethi esicacile esinokuziphatha okulawulwa nguwe.
Lokhu kuziphatha kwe-loopback kusebenza esikhethini sommeleli esivamile se-Go 1.27.3. Ezinye izilimi namaklayenti e-HTTP zingase zisebenzise imithetho ehlukile yokuqondisa indlela ye-localhost.