ฉันกำลังสร้างคอนเทนเนอร์นักเทียบท่าที่ควรใช้พร็อกซีเซิร์ฟเวอร์เมื่อส่งคำขอ HTTP น่าเสียดายที่ฉันไม่สามารถใช้งานได้ - ฉันไม่สามารถตรวจสอบสิทธิ์กับพร็อกซีจากภายในคอนเทนเนอร์ได้ แม้ว่าข้อมูลประจำตัวจะถูกต้องก็ตาม
ผลที่คาดว่าจะได้รับ
ขด https://api.myip.com
ส่งคืนการตอบสนอง JSON ด้วย IP ของพร็อกซี
ผลลัพธ์จริง:
ขด https://api.myip.com
ผลตอบแทน curl: (56) รับรหัส HTTP 407 จากพร็อกซีหลังจาก CONNECT
สิ่งที่ฉันพยายาม:
- การตั้งค่าตัวแปร HTTP_PROXY env (เหมือนกันสำหรับ HTTPS env)
- การเพิ่มสตริง "Acquire::http::Proxy" ใน /etc/apt/apt.conf (เหมือนกันสำหรับ https)
- ลองการกำหนดค่าที่แตกต่างกัน (เฉพาะ ENV, เฉพาะไฟล์ apt.conf, ทั้งคู่)
สิ่งที่ฉันตรวจสอบ:
- /etc/apt/apt.conf มีบรรทัดที่ต้องการ (ระบุไว้ด้านล่าง)
- ENV ถูกตั้งค่าอย่างถูกต้องภายในคอนเทนเนอร์
- พร็อกซีทำงานอย่างถูกต้องนอกคอนเทนเนอร์
- การรับรองความถูกต้องของพร็อกซีทำงานได้อย่างถูกต้อง (การอนุญาตสำเร็จ) ผ่านเบราว์เซอร์ที่เรียกใช้จากภายนอกคอนเทนเนอร์
- เครือข่ายนักเทียบท่าทำงานได้อย่างถูกต้อง (ไม่มีปัญหาเมื่อไม่ได้ใช้พร็อกซี)
apt.conf ของฉัน:
ได้รับ::http::Proxy "http://<my_login>:<my_pass>@<proxy_ip>:<proxy_port>/";
ได้รับ::https::Proxy "https://<my_login>:<my_pass>@<proxy_ip>:<proxy_port>/";
ได้รับ::socks::Proxy "socks://<my_login>:<my_pass>@<proxy_ip>:<proxy_port>/";
ไฟล์ Docker ของฉัน:
จาก Ubuntu:ล่าสุด
สำเนา ./rss/apt.conf /apt.conf
ENV HTTP_PROXY=<ip>:<พอร์ต>
ENV HTTPS_PROXY=<ip>:<พอร์ต>
RUN apt update && apt install -y curl
RUN cat /apt.conf >> /etc/apt/apt.conf
จุดเข้า ["นอน","1000"]
รุ่นนักเทียบท่า:
นักเทียบท่าเวอร์ชัน 20.10.8 สร้าง 3967b7d