Għaliex Go jaqbeż il-proxy għal localhost
Iddistingwi l-eċċezzjoni loopback integrata f’Go minn NO_PROXY u qabbel ir-routing mill-ambjent ma’ ProxyURL espliċitu.
Is-selettur tal-proxy ibbażat fuq l-ambjent ta’ Go għandu eċċezzjoni integrata għal localhost u destinazzjonijiet IP loopback. Jekk tbattal NO_PROXY, l-eċċezzjoni ma titneħħiex. Għalhekk test lokali jista’ jaqbad direttament filwaqt li talba lil isem ta’ host pubbliku tuża l-proxy kif mistenni.
Ir-regola tirrigwarda d-destinazzjoni tat-talba. Ma twaqqfekx milli tuża listener tal-proxy li l-indirizz tiegħu stess hu 127.0.0.1.
Spezzjona s-selettur mingħajr ma tibgħat talba
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)
}
}
Jekk trid tara l-paragun mal-ambjent, ħaddem il-programm bil-varjabbli tal-proxy ssettjati għall-proċess. Il-programm jevalwa biss is-seletturi; ma jaqbadx mal-proxy tad-dokumentazzjoni jew ma’ xi waħda mid-destinazzjonijiet.
L-iskoperta mill-ambjent u selettur espliċitu huma politiki differenti
ProxyFromEnvironment iqis l-iskema tad-destinazzjoni, l-issettjar tal-ambjent u r-regoli tal-bypass, inkluż it-trattament speċjali tal-loopback. ProxyURL jirritorna l-URL tal-proxy mogħti għal kull talba mgħoddija lil dak is-selettur.
Għalhekk trasport iddedikat bi ProxyURL espliċitu jista’ jibgħat talba lil destinazzjoni lokali permezz ta’ proxy. Dan hu utli biss meta l-proxy jkun jista’ jilħaq b’mod leġittimu d-destinazzjoni mitluba. Il-localhost ta’ proxy remot mhuwiex il-localhost tal-laptop tiegħek, u għalhekk li tisforza r-rotta ma jagħmilhiex awtomatikament test utli ta’ konnettività.
Iċċekkja qabel ma l-proċess iżomm l-ambjent tiegħu fil-cache
Il-konfigurazzjoni tal-proxy mill-ambjent f’net/http standard tinżamm fil-cache wara l-ewwel użu. Li tibdel varjabbli tal-ambjent aktar tard fl-istess programm li qed jaħdem mhuwiex mod affidabbli biex tirrepeti test b’konfigurazzjoni ġdida. Ibda proċess ġdid bil-valuri maħsuba, jew ipprovdi selettur espliċitu li tikkontrolla l-imġiba tiegħu.
Din l-imġiba loopback tapplika għas-selettur standard tal-proxy ta’ Go 1.27.3. Lingwi u klijenti HTTP oħra jistgħu jużaw regoli differenti ta’ routing għal localhost.