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.

Artikli relatati