พร็อกซี HTTPS ของ Git อาจต้องใช้ใบรับรองไคลเอนต์ของตัวเอง
กำหนดค่า CA ของ TLS สำหรับพร็อกซี ใบรับรองไคลเอนต์ และคีย์ส่วนตัวแยกจากค่าการตั้งค่า TLS และการเข้าสู่ระบบ HTTP ของที่เก็บ
พร็อกซี HTTPS บางตัวร้องขอใบรับรองไคลเอนต์ระหว่างการเชื่อมต่อ TLS จาก Git ไปยังพร็อกซี นั่นเป็นการแลกเปลี่ยนการพิสูจน์ตัวตนที่แยกจากการเข้าสู่ระบบที่เก็บ
สำหรับแบ็กเอนด์ TLS ของ Git/libcurl ที่เข้ากันได้และใช้ไฟล์ PEM การกำหนดค่าที่เกี่ยวข้องมีรูปแบบดังนี้:
[http]
proxy = https://proxy.example:8443
proxySSLCAInfo = /secure/proxy-ca.pem
proxySSLCert = /secure/proxy-client.pem
proxySSLKey = /secure/proxy-client.key
proxySSLCertPasswordProtected = true
ใช้ไฟล์จริงที่จัดหาให้สำหรับการจัดวาง TLS ของพร็อกซี ใช้การกำหนดค่าในขอบเขต Git ที่ต้องการ; การกำหนดค่าในระดับที่เก็บ สามารถจำกัดเส้นทางนี้ให้อยู่เฉพาะเช็กเอาต์นั้น
| การตั้งค่า | บทบาท |
|---|---|
| proxySSLCAInfo | ชุด CA ที่ใช้ตรวจสอบพร็อกซี HTTPS |
| proxySSLCert | ใบรับรองไคลเอนต์ที่นำเสนอต่อพร็อกซีนั้น |
| proxySSLKey | คีย์ส่วนตัวที่ตรงกับใบรับรองไคลเอนต์ |
| proxySSLCertPasswordProtected | เปิดใช้การถามรหัสผ่านของ Git สำหรับวัสดุใบรับรองและคีย์ของพร็อกซีที่ได้รับการป้องกัน |
URL พร็อกซีแบบ https:// จำเป็นสำหรับการแลกเปลี่ยน TLS นี้ พร็อกซี HTTP ธรรมดาที่พา CONNECT ไปยังที่เก็บ HTTPS ไม่ได้ทำการพิสูจน์ตัวตนด้วยใบรับรองไคลเอนต์ TLS บนตัวรับฟังของตนเองด้วยเหตุนั้น
ความเชื่อถือใบรับรองของที่เก็บและใบรับรองไคลเอนต์ของที่เก็บใด ๆ มีการกำหนดค่า ssl ของตนเอง เช่นเดียวกัน การท้าทายพร็อกซี HTTP ด้วย Proxy-Authenticate เป็นกลไกการพิสูจน์ตัวตนอีกแบบหนึ่ง
เมื่อดูแลการตั้งค่านี้ ให้ตรวจสอบเวอร์ชัน libcurl ที่เชื่อมโยง แบ็กเอนด์ TLS และรูปแบบใบรับรองที่รองรับ เส้นทางไปยังใบรับรอง PEM ไม่ใช่สิ่งทดแทนที่พกพาได้สำหรับทุกอินเทอร์เฟซที่เก็บใบรับรองของแพลตฟอร์ม