GOPROXY เทียบกับ HTTP_PROXY: แหล่งโมดูลและพร็อกซีส่งต่อ
แยกการเลือกแหล่งโมดูลของ Go ออกจากเส้นทางพร็อกซีส่งต่อที่ใช้เข้าถึงแหล่งนั้น
GOPROXY เลือกบริการดาวน์โหลดโมดูลของ Go ส่วน HTTP_PROXY และ HTTPS_PROXY เลือกตัวกลางเครือข่ายที่ใช้ไปยังปลายทาง พร็อกซี HTTP ทั่วไปมักไม่ได้ทำหน้าที่เป็น metadata และ file API ของบริการโมดูล
นโยบายแหล่งโมดูล
go env GOPROXY GOPRIVATE GONOPROXY
ค่าพวกนี้บอกว่า Go รับโมดูลมาจากที่ใด GONOPROXY เลือกเส้นทางโมดูลที่ข้ามบริการโมดูล เช่นเดียวกัน GOPROXY=direct ขอสิทธิ์ version-control สำหรับโมดูล แต่ไม่ได้ปิด HTTP proxy variables สำหรับทุกการเชื่อมต่อ
เส้นทางเครือข่าย
คำสั่งจาก POSIX shell สามารถกำหนดพร็อกซีส่งต่อแยกจากแหล่งโมดูลได้:
HTTPS_PROXY=http://203.0.113.10:8080 go mod download
เปลี่ยน endpoint ในเอกสารและคงค่า GOPROXY ที่ตั้งใจไว้ สำหรับการดาวน์โหลดโมดูลสาธารณะที่อนุญาตให้ใช้พร็อกซี HTTP สาธารณะ ให้เลือก candidate จาก รายการพร็อกซี HTTP ใช้ NO_PROXY กับปลายทางการขนส่ง HTTP ที่ควรเชื่อมต่อโดยตรง
ตามนโยบายโมดูล การดาวน์โหลดอาจติดต่อ module service, checksum service, artifact host หรือ version-control server เมื่อ request ล้มเหลว ให้ระบุทั้ง source ที่ Go เลือกและ route ที่ใช้ไปยัง host นั้น การ query go env เพียงอย่างเดียวไม่แสดง proxy environment variables ทั้งหมด และไม่พิสูจน์ว่าการดาวน์โหลดเปิด connection ใด