ولې Go د localhost لپاره پراکسي تېروي
د Go دنننۍ loopback استثنا له NO_PROXY څخه جلا کړئ او د چاپېریال پر بنسټ مسیر ټاکنه له څرګند ProxyURL سره پرتله کړئ.
د Go د چاپېریال پر بنسټ د پراکسي ټاکونکی د localhost او loopback 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 د موخې سکیم، د چاپېریال امستنې او د پراکسي د تېرېدو قواعد په پام کې نیسي، چې د loopback ځانګړی چلند هم پکې راځي. ProxyURL هغه پراکسي URL د هرې غوښتنې لپاره بېرته ورکوي چې دې ټاکونکي ته سپارل شوې وي.
له همدې امله له څرګند ProxyURL سره ځانګړی transport سیمهییزې موخې ته غوښتنه د پراکسي له لارې لېږلی شي. دا یوازې هغه وخت ګټور دی چې پراکسي غوښتل شوې موخې ته په روا توګه رسېدلی شي. د لرې پراکسي localhost ستاسو د لپټاپ localhost نه دی؛ نو د لارې جبري ټاکل په خپله د اړیکې ګټوره ازموینه نه ده.
وګورئ مخکې له دې چې پروسه خپل چاپېریال په کېش کې وساتي
د معیاري net/http د چاپېریال پراکسي تنظیم د لومړي کارولو وروسته په کېش کې ساتل کېږي. وروسته د هماغه روان پروګرام دننه د چاپېریال متغیر بدلول د نوي تنظیم د ازموینې د تکرار باوري لاره نه ده. له غوښتل شوو ارزښتونو سره نوې پروسه پیل کړئ، یا داسې څرګند ټاکونکی ورکړئ چې چلند یې تاسو کنټرولوئ.
د loopback دا چلند د Go 1.27.3 پر معیاري پراکسي ټاکونکي پلي کېږي. نورې ژبې او HTTP مراجع ښايي د localhost لپاره د مسیر ټاکلو بېل قواعد وکاروي.