Το HTTPS proxy του Git μπορεί να απαιτεί το δικό του πιστοποιητικό πελάτη
Ρυθμίστε το TLS CA του proxy, το πιστοποιητικό πελάτη και το ιδιωτικό κλειδί χωριστά από τις ρυθμίσεις TLS και σύνδεσης HTTP του αποθετηρίου.
Ορισμένα HTTPS forward proxies ζητούν πιστοποιητικό πελάτη κατά τη σύνδεση TLS από το Git προς το proxy. Πρόκειται για ξεχωριστή ανταλλαγή ταυτοποίησης από τη σύνδεση στο αποθετήριο.
Για ένα συμβατό TLS backend του 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 του proxy. Εφαρμόστε τη ρύθμιση στο επιδιωκόμενο εύρος του Git· μια ρύθμιση τοπική στο αποθετήριο μπορεί να περιορίσει αυτή τη διαδρομή σε εκείνο το αντίγραφο εργασίας.
| Ρύθμιση | Ρόλος |
|---|---|
| proxySSLCAInfo | Πακέτο CA που χρησιμοποιείται για την επαλήθευση του HTTPS proxy |
| proxySSLCert | Πιστοποιητικό πελάτη που παρουσιάζεται σε αυτό το proxy |
| proxySSLKey | Ιδιωτικό κλειδί που αντιστοιχεί στο πιστοποιητικό πελάτη |
| proxySSLCertPasswordProtected | Ενεργοποιεί την προτροπή κωδικού του Git για προστατευμένο πιστοποιητικό και υλικό κλειδιού του proxy |
Το URL του proxy με https:// είναι απαραίτητο για αυτή την ανταλλαγή TLS. Ένα απλό HTTP proxy που μεταφέρει CONNECT προς αποθετήριο HTTPS δεν εκτελεί έτσι ταυτοποίηση πιστοποιητικού πελάτη TLS στον δικό του listener.
Η εμπιστοσύνη στα πιστοποιητικά του αποθετηρίου και τυχόν πιστοποιητικό πελάτη του αποθετηρίου έχουν δική τους ρύθμιση ssl. Ομοίως, μια πρόκληση HTTP proxy με Proxy-Authenticate είναι άλλος μηχανισμός ταυτοποίησης.
Ελέγχετε τη συνδεδεμένη έκδοση libcurl, το TLS backend και την υποστηριζόμενη μορφή πιστοποιητικού κατά τη συντήρηση αυτής της ρύθμισης. Μια διαδρομή προς πιστοποιητικό PEM δεν είναι φορητό υποκατάστατο για τη διεπαφή αποθήκης πιστοποιητικών κάθε πλατφόρμας.