Git యొక్క HTTPS ప్రాక్సీ దాని స్వంత క్లయింట్ సర్టిఫికెట్ను అవసరం చేయవచ్చు
ప్రాక్సీ యొక్క TLS CA, క్లయింట్ సర్టిఫికెట్ మరియు ప్రైవేట్ కీని రిపోజిటరీ యొక్క TLS మరియు HTTP లాగిన్ సెట్టింగ్ల నుండి విడిగా కాన్ఫిగర్ చేయండి.
కొన్ని HTTPS ఫార్వర్డ్ ప్రాక్సీలు Git నుండి ప్రాక్సీకి TLS కనెక్షన్ సమయంలో క్లయింట్ సర్టిఫికెట్ను అడుగుతాయి. అది రిపోజిటరీలో లాగిన్ అవ్వడం నుండి వేరైన ప్రమాణీకరణ మార్పిడి.
PEM ఫైళ్లను ఉపయోగించే సరిపోయే Git/libcurl TLS బ్యాకెండ్ కోసం సంబంధిత కాన్ఫిగరేషన్ ఇలా ఉంటుంది:
[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 పరిధిలో వర్తించండి; రిపోజిటరీ స్థాయి కాన్ఫిగరేషన్ ఈ మార్గాన్ని ఆ checkoutకు మాత్రమే పరిమితం చేయగలదు.
| సెట్టింగ్ | పాత్ర |
|---|---|
| proxySSLCAInfo | HTTPS ప్రాక్సీని ధృవీకరించడానికి ఉపయోగించే CA బండిల్ |
| proxySSLCert | ఆ ప్రాక్సీకి చూపించే క్లయింట్ సర్టిఫికెట్ |
| proxySSLKey | క్లయింట్ సర్టిఫికెట్తో సరిపోలే ప్రైవేట్ కీ |
| proxySSLCertPasswordProtected | రక్షిత ప్రాక్సీ సర్టిఫికెట్ మరియు కీ మెటీరియల్ కోసం Git యొక్క పాస్వర్డ్ ప్రాంప్ట్ను ప్రారంభిస్తుంది |
ఈ TLS మార్పిడికి https:// ప్రాక్సీ URL అవసరం. HTTPS రిపోజిటరీకి CONNECT తీసుకెళ్లే సాధారణ HTTP ప్రాక్సీ దాని ద్వారా తన స్వంత లిసనర్పై TLS క్లయింట్-సర్టిఫికెట్ ప్రమాణీకరణ చేయదు.
రిపోజిటరీ సర్టిఫికెట్ విశ్వాసం మరియు ఏదైనా రిపోజిటరీ క్లయింట్ సర్టిఫికెట్కు వాటి స్వంత ssl కాన్ఫిగరేషన్ ఉంటుంది. అలాగే, Proxy-Authenticate ఉపయోగించే HTTP ప్రాక్సీ ఛాలెంజ్ మరో ప్రమాణీకరణ యంత్రాంగం.
ఈ సెటప్ను నిర్వహిస్తున్నప్పుడు లింక్ చేయబడిన libcurl వెర్షన్, TLS బ్యాకెండ్ మరియు మద్దతు ఉన్న సర్టిఫికెట్ ఫార్మాట్ను తనిఖీ చేయండి. PEM సర్టిఫికెట్కు ఉన్న మార్గం ప్రతి ప్లాట్ఫారం సర్టిఫికెట్-స్టోర్ ఇంటర్ఫేస్కు తరలించగల ప్రత్యామ్నాయం కాదు.