apt-transport-http - การขนส่ง APT สำหรับการดาวน์โหลดผ่าน Hypertext Transfer Protocol (HTTP)
การขนส่ง APT นี้อนุญาตให้ใช้ที่เก็บที่เข้าถึงผ่าน Hypertext Transfer Protocol (HTTP) มีให้โดยค่าเริ่มต้นและน่าจะเป็นการขนส่งที่ใช้มากที่สุด โปรดทราบว่าการขนส่งจะไม่ถูกเรียกโดยตรงจากผู้ใช้ แต่ใช้โดยเครื่องมือ APT ตามการกำหนดค่าของผู้ใช้
HTTP เป็นโปรโตคอลการขนส่งที่ไม่ได้เข้ารหัส ซึ่งหมายความว่าการสื่อสารทั้งหมดกับเซิร์ฟเวอร์ระยะไกล (หรือพร็อกซี) สามารถสังเกตได้โดยผู้โจมตีที่มีความสามารถเพียงพอซึ่งเรียกกันทั่วไปว่า "คนอยู่ตรงกลาง" (MITM) อย่างไรก็ตาม ผู้โจมตีดังกล่าวไม่สามารถไม่แก้ไขการสื่อสารเพื่อประนีประนอมความปลอดภัยของระบบของคุณได้ เนื่องจากรูปแบบความปลอดภัยของข้อมูล APT ไม่ขึ้นกับวิธีการขนส่งที่เลือก ซึ่งจะอธิบายโดยละเอียดใน apt-secure(8) ภาพรวมของวิธีการขนส่งมีอยู่ใน sources.list(5)
สามารถตั้งค่าตัวเลือกต่างๆ ได้ในไฟล์ apt.conf(5) เพื่อแก้ไขลักษณะการทำงานของไฟล์ ตั้งแต่การกำหนดค่าพร็อกซีไปจนถึงวิธีแก้ปัญหาเฉพาะสำหรับข้อจำกัดของเซิร์ฟเวอร์
ตัวแปรสภาพแวดล้อม http_proxy ได้รับการสนับสนุนสำหรับการกำหนดค่าทั้งระบบ พร็อกซีเฉพาะสำหรับ APT สามารถกำหนดค่าผ่านตัวเลือก Acquire::http::Proxy สามารถระบุพร็อกซีที่ควรใช้สำหรับบางโฮสต์เท่านั้นผ่าน Acquire::http::Proxy::host การควบคุมที่ละเอียดยิ่งขึ้นสามารถทำได้ผ่านการตรวจจับพร็อกซีอัตโนมัติ โดยมีรายละเอียดเพิ่มเติมด้านล่าง ตัวเลือกทั้งหมดนี้ใช้รูปแบบ URI scheme://[[user][:pass]@]host [:พอร์ต]/. รูปแบบ URI ที่รองรับคือ socks5h (SOCKS5 ที่มีความละเอียด DNS ระยะไกล), http และ https สามารถระบุรายละเอียดการรับรองความถูกต้องผ่าน apt_auth.conf(5) แทนที่จะรวมไว้ใน URI โดยตรง
ตัวเลือกการกำหนดค่า APT ต่างๆ รองรับค่าพิเศษ DIRECT ซึ่งหมายความว่าไม่ควรใช้พร็อกซี ตัวแปรสภาพแวดล้อม no_proxy ยังได้รับการสนับสนุนสำหรับวัตถุประสงค์เดียวกัน
นอกจากนี้ยังมีการตั้งค่าสามแบบสำหรับการควบคุมแคชด้วยแคชพร็อกซีที่สอดคล้องกับ HTTP/1.1: Acquire::http::No-Cache บอกพร็อกซีว่าอย่าใช้การตอบสนองที่แคชไว้ไม่ว่าในกรณีใดๆ Acquire::http::Max-Age กำหนดอายุสูงสุดที่อนุญาต (เป็นวินาที) ของไฟล์ดัชนีในแคชของพร็อกซี Acquire::http::No-Store ระบุว่าพร็อกซีไม่ควรจัดเก็บไฟล์เก็บถาวรที่ร้องขอไว้ในแคช ซึ่งสามารถใช้เพื่อป้องกันไม่ให้พร็อกซีสร้างมลพิษในแคชด้วยไฟล์ .deb (ขนาดใหญ่)
สามารถใช้ Acquire::http::Proxy-Auto-Detect เพื่อระบุคำสั่งภายนอกเพื่อค้นหาพร็อกซี HTTP ที่จะใช้ พารามิเตอร์ตัวแรกและตัวเดียวคือ URI ที่แสดงถึงโฮสต์ที่จะติดต่อ เพื่ออนุญาตให้มีการกำหนดค่าเฉพาะโฮสต์ APT คาดหวังให้คำสั่งส่งออกพร็อกซีบน stdout เป็นบรรทัดเดียวในรูปแบบ URI ที่ระบุก่อนหน้านี้ หรือคำว่า DIRECT ถ้าไม่ควรใช้พร็อกซี ไม่มีเอาต์พุตบ่งชี้ว่าควรใช้การตั้งค่าพร็อกซีทั่วไป
โปรดทราบว่าระบบจะไม่ใช้การตรวจหาอัตโนมัติสำหรับโฮสต์หากกำหนดค่าพร็อกซีเฉพาะโฮสต์แล้วผ่าน Acquire::http::Proxy::โฮสต์
ดูตัวอย่างการใช้งานในแพ็คเกจ squid-deb-proxy-client(1) และ auto-apt-proxy(1)
ตัวเลือกนี้มีความสำคัญเหนือชื่อตัวเลือกดั้งเดิม Acquire::http::ProxyAutoDetect
ตัวเลือก Acquire::http::Timeout ตั้งค่าตัวจับเวลาการหมดเวลาที่ใช้โดยวิธีการ ค่านี้ใช้กับการเชื่อมต่อและการหมดเวลาของข้อมูล
แบนด์วิธที่ใช้สามารถจำกัดได้ด้วย Acquire::http::Dl-Limit ซึ่งยอมรับค่าจำนวนเต็มในหน่วยกิโลไบต์ต่อวินาที ค่าเริ่มต้นคือ 0 ซึ่งจะปิดใช้งานขีดจำกัดและพยายามใช้แบนด์วิธที่มีอยู่ทั้งหมด โปรดทราบว่าตัวเลือกนี้จะปิดใช้งานการดาวน์โหลดจากหลายเซิร์ฟเวอร์พร้อมกันโดยปริยาย
การตั้งค่า Acquire::http::Pipeline-Depth สามารถใช้เพื่อเปิดใช้งาน HTTP pipelining (RFC 2616 ส่วน 8.1.2.2) ซึ่งจะเป็นประโยชน์ เช่น ในการเชื่อมต่อที่มีความหน่วงแฝงสูง ระบุจำนวนคำขอที่ส่งในไปป์ไลน์ APT พยายามตรวจหาและแก้ไขเว็บเซิร์ฟเวอร์และพร็อกซีที่ทำงานผิดปกติในขณะรันไทม์ แต่ถ้าคุณรู้ว่าของคุณไม่เป็นไปตามข้อกำหนด HTTP/1.1 คุณสามารถปิดใช้งานไปป์ไลน์ได้โดยตั้งค่าเป็น 0 ซึ่งจะถูกเปิดใช้งานโดยค่าเริ่มต้นด้วยค่า 10 .
Acquire::http::AllowRedirect ควบคุมว่า APT จะติดตามการเปลี่ยนเส้นทางหรือไม่ ซึ่งเปิดใช้งานตามค่าเริ่มต้น
สามารถใช้ Acquire::http::User-Agent เพื่อตั้งค่า User-Agent ที่แตกต่างกันสำหรับวิธีการดาวน์โหลด http เนื่องจากพร็อกซีบางตัวอนุญาตให้เข้าถึงได้เฉพาะเมื่อไคลเอนต์ใช้ตัวระบุที่รู้จักเท่านั้น
Acquire::http::SendAccept ถูกเปิดใช้งานตามค่าเริ่มต้น และส่งฟิลด์ส่วนหัว Accept: text/* ไปยังเซิร์ฟเวอร์สำหรับคำขอที่ไม่มีนามสกุลไฟล์ เพื่อป้องกันไม่ให้เซิร์ฟเวอร์พยายามต่อรองเนื้อหา
Acquire::http { Proxy::example.org "DIRECT"; Proxy "socks5h://apt:pass@127.0.0.1:9050"; Proxy-Auto-Detect "/usr/local/bin/apt-http-proxy-auto-detect"; No-Cache "true"; Max-Age "3600"; No-Store "true"; Timeout "10"; Dl-Limit "42"; Pipeline-Depth "0"; AllowRedirect "false"; User-Agent "My APT-HTTP"; SendAccept "false"; };
apt.conf(5) apt_auth.conf(5) sources.list(5)
หน้าข้อผิดพลาด APT[1] หากคุณต้องการรายงานข้อบกพร่องใน APT โปรดดู /usr/share/doc/debian/bug-reporting.txt หรือคำสั่ง reportbug(1)
ทีม APT
1. หน้าบั๊ก APT: http://bugs.debian.org/src:apt