Go’ning muhit asosidagi proksi tanlagichida localhost va loopback IP manzilli nishonlar uchun ichki istisno bor. NO_PROXY’ni bo‘shatish bu istisnoni olib tashlamaydi. Shu sababli mahalliy sinov to‘g‘ridan-to‘g‘ri ulanib, ommaviy host nomiga yuborilgan so‘rov esa kutilganidek proksidan foydalanishi mumkin.

Qoida so‘rovning nishoniga taalluqli. U o‘z manzili 127.0.0.1 bo‘lgan proksi tinglovchisidan foydalanishga to‘sqinlik qilmaydi.

So‘rov yubormasdan tanlagichni tekshiring

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

Muhit bilan taqqoslashni ko‘rmoqchi bo‘lsangiz, dasturni jarayon uchun proksi o‘zgaruvchilari belgilangan holda ishga tushiring. Dastur faqat tanlagichlarni baholaydi; hujjatdagi proksiga ham, nishonlarning birortasiga ham ulanmaydi.

Muhitdan aniqlash va aniq tanlagich turli siyosatlardir

ProxyFromEnvironment nishon sxemasi, muhit sozlamalari va chetlab o‘tish qoidalarini, jumladan loopback uchun maxsus ishlovni hisobga oladi. ProxyURL shu tanlagichga berilgan har bir so‘rov uchun ko‘rsatilgan proksi URL’ini qaytaradi.

Shu sababli aniq ProxyURL ishlatadigan alohida transport mahalliy nishonga so‘rovni proksi orqali yubora oladi. Bu faqat proksi so‘ralgan nishonga qonuniy tarzda yeta olsa foydali. Masofaviy proksining localhost’i noutbukingizning localhost’i emas, shuning uchun yo‘lni majburlash o‘z-o‘zidan foydali ulanish sinovi bo‘lavermaydi.

Jarayon muhitni keshga saqlashidan oldin tekshiring

Standart net/http’ning muhit proksi konfiguratsiyasi birinchi foydalanishdan keyin keshga olinadi. Keyin o‘sha ishlayotgan dastur ichida muhit o‘zgaruvchisini almashtirish yangi konfiguratsiya sinovini takrorlashning ishonchli usuli emas. Kerakli qiymatlar bilan yangi jarayon boshlang yoki xatti-harakatini o‘zingiz boshqaradigan aniq tanlagich bering.

Bu loopback xatti-harakati Go 1.27.3 standart proksi tanlagichiga tegishli. Boshqa tillar va HTTP mijozlari localhost uchun boshqa yo‘naltirish qoidalarini ishlatishi mumkin.

O'xshash maqolalar