Go-ren ingurune bidezko proxy-hautatzaileak berezko salbuespena du localhost eta loopback IP helburuetarako. NO_PROXY hustuta ere salbuespen hori ez da kentzen. Horregatik, tokiko proba bat zuzenean konekta daiteke, ostalari-izen publiko baterako eskaerak proxya espero bezala erabiltzen duen bitartean.

Araua eskaeraren helburuari dagokio. Ez du eragozten bere helbidea 127.0.0.1 duen proxy-entzule bat erabiltzea.

Aztertu hautatzailea eskaerarik bidali gabe

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)
    }
}

Ingurunearekiko konparazioa ikusi nahi baduzu, exekutatu programa prozesuaren proxy-aldagaiak ezarrita. Programak hautatzaileak ebaluatu besterik ez du egiten; ez da dokumentazioko proxyra edo helburuetako batera ere konektatzen.

Ingurunetik aurkitzea eta hautatzaile esplizitua politika desberdinak dira

ProxyFromEnvironment funtzioak helburuaren eskema, ingurune-ezarpenak eta saiheste-arauak hartzen ditu kontuan, loopback helbideen tratamendu berezia barne. ProxyURL funtzioak emandako proxy URLa itzultzen du hautatzaile horri pasatutako eskaera guztietarako.

Beraz, ProxyURL esplizitua duen garraio bereizi batek tokiko helbururako eskaera proxy bidez bidal dezake. Hori erabilgarria da proxyak eskatutako helburura zilegitasunez irits badaiteke soilik. Urruneko proxyaren localhost ez da zure ordenagailu eramangarriaren localhost; hortaz, bidea behartzea ez da automatikoki konektibitate-proba erabilgarria.

Egiaztatu prozesuak ingurunea cachean gorde aurretik

Net/http estandarraren ingurune bidezko proxy-konfigurazioa lehen erabileraren ondoren cachean gordetzen da. Gero exekutatzen ari den programa berean ingurune-aldagai bat aldatzea ez da konfigurazio berriko proba errepikatzeko modu fidagarria. Hasi prozesu berri bat nahi dituzun balioekin, edo eman zuk kontrolatutako portaera duen hautatzaile esplizitu bat.

Loopback-portaera hori Go 1.27.3-ren proxy-hautatzaile estandarrari dagokio. Beste hizkuntza eta HTTP bezero batzuek localhost bideratzeko arau desberdinak erabil ditzakete.

Erlazionatutako artikuluak