कनेक्ट के बाद प्रॉक्सी से http त्रुटि 407 git देता है


95

मुझे अपने पीसी से गिटब से कनेक्ट करते समय एक समस्या है, गिट का उपयोग करते हुए। सिस्टम विन 7।

मेरे पास प्रॉक्सी के माध्यम से कनेक्शन है, इसलिए मैंने इसे गिट कॉन्फिग फाइलों (सामान्य गिट फ़ोल्डर में, और गिट रेपो फोल्डर दोनों) में निर्दिष्ट किया है। ऐसा करने के लिए मैंने अगली पंक्ति में अपने git bush में प्रवेश किया:

$ git config --global http.proxy http://<username>:<userpsw>@<proxy>:<port>

जिस तरह से यह अन्य प्रोग्रामों पर काम करता है (उदा: मावेन) यह ऐसा दिखता है:

<username> - my login to our corp system
<userpsw> -my password to corporat system
<proxy> - 10.65.64.77
<port> - 3128

लेकिन जब मैं अपने रेपो को पुश करने या क्लोन करने की कोशिश करता हूं, तो मुझे प्राप्त होता है

fatal: unable to access '<repo githup link>' Received HTTP code 407 from proxy after CONNECT

मैं न केवल अपने उपयोगकर्ता नाम बल्कि डोमेन \ उपयोगकर्ता नाम दर्ज करने का प्रयास करता हूं, कोड भाषा तालिकाओं के साथ समस्या होने पर अपना पासवर्ड बदल दिया है। और मैंने गलत पासवर्ड भी डाला। त्रुटि वही रही।

जब मैंने '10 .65.64.177.com 'में प्रवेश किया और रेपो को आगे बढ़ाने का प्रयास किया, तो मैंने प्राप्त किया:

fatal: unable to access '<repo github link>': Failed connect to github.com:3128; No error

बस कोशिश करने के लिए पता नहीं है।


का डुप्लीकेट stackoverflow.com/questions/8561671 ? Https प्रॉक्सी के बारे में मेरा जवाब देखें ।
ThinkOfaNumber

1
AD परिवेश पर मैंने अपने विंडोज़ पासवर्ड को अपडेट करने के बाद मुझे वही मुद्दा मिल रहा था। मुझे पता है कि मुझे अपने प्रॉक्सी सर्वर (cntlm) को पुनः आरंभ करना था।
आरोन सी।

जवाबों:


85

मेरे लिए जो काम किया गया है वह रोहितमोहता के समान है; नियमित DOS कमांड प्रॉम्प्ट में (git bash पर नहीं):

प्रथम

git config --global http.proxy http://username:password@proxiURL:proxiPort

और कुछ मामलों में भी

git config --global https.proxy http://username:password@proxiURL:proxiPort

फिर

git config --global http.sslVerify false

(मैं पुष्टि करता हूं कि यह आवश्यक है: यदि सही "SSL प्रमाणपत्र समस्या: स्थानीय जारीकर्ता प्रमाणपत्र प्राप्त करने में असमर्थ" त्रुटि पर सेट करें)

मेरे मामले में, all_proxy वैरिएबल को परिभाषित करने की कोई आवश्यकता नहीं है

और अंत में

git clone https://github.com/someUser/someRepo.git

1
मुझे "git config --global http.sslVerify false" की आवश्यकता नहीं थी, लेकिन यह संभवतः प्रॉक्सी कॉन्फ़िगरेशन पर निर्भर करता है।
ऐरे

1
यह उत्तर काम कर रहा है, और इसे सही के रूप में चिह्नित किया जाना चाहिए।
नदीम इकबाल

यह मेरे लिए नहीं डॉस मार में मार करने की जरूरत है। मैंने देखा कि डॉस कुछ भी नहीं था! अर्थात। इसे चेक करके करें: git config --global -l
theQuestionMan

उत्तर का git config --global http.proxy http://username:password@proxiURL:proxiPortप्रश्न git config --global http.proxy http://<username>:<userpsw>@<proxy>:<port>कम सही होने के अलावा अन्य से अलग कैसे है , क्योंकि किसी को प्रॉक्सी होस्ट को निर्दिष्ट करने की आवश्यकता है , न कि URL को ?
मिशेल जुंग

आकर्षण की तरह काम करता है
पॉलीकार्प कावू

38

मुझे सभी 4 चीजों के .gitconfigसाथ सेटअप करना था :

git config --global http.sslVerify false
git config --global https.sslVerify false
git config --global http.proxy http://user:pass@yourproxy:port
git config --global https.proxy http://user:pass@yourproxy:port

तभी क्लोनिंग सफल रही।


मैंने यहां बताए गए सभी विकल्पों की कोशिश की और अभी भी यह मेरे लिए काम नहीं कर रहा है। :(
जेवियर जेफ्री

क्यों हर कोई एसएसएल सत्यापन को रोकने के लिए प्रस्ताव कर रहा है ??? यह INSECURE है और आपके सिस्टम से समझौता कर सकता है!
flederwiesel

3
@flederwiesel क्योंकि कॉर्पोरेट परदे के पीछे बुराई है, और मूर्खता के सभी प्रकार का कारण बनता है - जैसे आपके डोमेन क्रेडेंशियल्स को आधा दर्जन स्थानों पर क्लीयरटेक्स्ट में स्टोर करना है ताकि आप वास्तव में अनुमानित संसाधनों तक पहुंच सकें। और असुरक्षित, कंपनी द्वारा जारी किए गए रूट सर्टिफिकेट के उपयोग के लिए - या पूरी तरह से एसएसएल सत्यापन को दरकिनार / अनदेखा करना। यह काफी दुखद है।
ggranum

36

निम्न कमांड को प्रॉक्सी को क्रेडेंशियल्स और प्रमाणीकरण विधि भेजने के लिए बाध्य करने की आवश्यकता है:

git config --global http.proxyAuthMethod 'basic'

स्रोत: https://git-scm.com/docs/git-config#git-config-httpproxyAvModod


2
यह मेरे लिए आखिर में क्या काम कर रहा था! config फाइल में प्रॉक्सी सेट करने के बाद।
धनेश के एम

3
यह भी मेरे लिए गायब टुकड़ा था। धन्यवाद। (आम तौर पर मैं 'मुझे भी' टिप्पणियों से नहीं टकराता, लेकिन यह जवाब बहुत दूर है और अधिक प्यार की जरूरत है)।
ggranum

यह वही है जो गायब था!
ivspenna

यह मेरे लिए आवश्यक केवल git config विकल्प के रूप में समाप्त हुआ , क्योंकि मेरे https_proxy पर्यावरण चर / etc / वातावरण में सेट किया गया था।
रकुराई

36

हो सकता है कि आप पहले से ही सिस्टम प्रॉक्सी सेटिंग का उपयोग कर रहे हों - इस स्थिति में सभी git परदे के पीछे काम करेंगे:

git config --global --unset http.proxy
git config --global --unset https.proxy

1
इसने कम से कम त्रुटि को प्रदर्शित करने से रखा और उपयोगकर्ता नाम / पासवर्ड के लिए संकेत उत्पन्न किया। ऐसा लगता है कि git क्लाइंट अनुचित रूप से कभी-कभी डिफ़ॉल्ट रूप से प्रॉक्सी सेट कर रहा है। एटलसियन द्वारा सोर्सट्री का उपयोग करते समय मुझे वही त्रुटि हुई है।
केली एस। फ्रेंच

इसने मेरे लिए उबंटू 14.04 पर बहुत सिर खुजाने के बाद इस मुद्दे को हल कर दिया!
टिम एबेनेजर

2
SourceTree का उपयोग करते समय यह मेरे लिए भी हल हो गया, धन्यवाद।
टॉमएसडब्ल्यू

होमब्रेव स्थापित करने का प्रयास करते समय मुझे यह त्रुटि मिल रही थी ... इससे मेरी समस्या हल हो गई। धन्यवाद।
joeCarpenter

धन्यवाद, यह केवल एक चीज है जिसने वीपीएन सुरंग के माध्यम से दूरस्थ स्थान से काम करते समय मेरे लिए काम किया था।
मैट

18

मुझे कॉरपोरेट फ़ायरवॉल के पीछे इसी तरह के मुद्दे का सामना करना पड़ा था। निम्न किया, और मेरे सिस्टम से विंडोज 7 SP1 को चलाने वाले गिट शेल का उपयोग करके रिपॉजिटरी को क्लोन करने में सक्षम था।

  1. अपने उपयोगकर्ता के लिए 'all_proxy' पर्यावरण चर सेट करें। कर्ल द्वारा आवश्यक।

    export all_proxy=http://DOMAIN\proxyuser:proxypwd@proxy.server.com:8080
    
  2. अपने उपयोगकर्ता के लिए 'https_proxy' पर्यावरण चर सेट करें। कर्ल द्वारा आवश्यक।

    export https_proxy=http://DOMAIN\proxyuser:proxypwd@proxy.server.com:8080
    
  3. मुझे यकीन नहीं है कि इसका कोई असर होगा। लेकिन मैंने ऐसा किया और यह काम किया:

    git config --global http.sslverify false
    
  4. क्लोनिंग के लिए https: // का उपयोग करें

    git clone https://github.com/project/project.git
    

नोट -1: http: // का उपयोग न करें। जिसका उपयोग करके नीचे त्रुटि दे सकते हैं। इसे https: // का उपयोग करके हल किया जा सकता है।

 error: RPC failed; result=56, HTTP code = 301

नोट -2: अपने पासवर्ड में @ होने से बचें। हालांकि $ का उपयोग कर सकते हैं।


आप https_proxy = DOMAIN \ "प्रॉक्सीसेर: proxypwd" @xy.server.com का उपयोग कर सकते हैं : 8080 दोहरे उद्धरण चिह्नों के साथ और @पासवर्ड में हवलदार ।
वडकोरक्वेस्ट

1
मुझे पता है कि "चारों ओर उद्धरण का उपयोग कर एक चाल है login:password। लेकिन मैंने वास्तव में कोशिश की और गिट ने उद्धरणों को नजरअंदाज कर दिया, इसलिए @पासवर्ड में गड़बड़ हो गई। अगर किसी के पास वर्कअराउंड है, तो मुझे लगता है कि यह ध्यान देने योग्य है।
वडकोरक्वेस्ट

1
मैंने ऊपर दिए गए सभी आदेशों की कोशिश की है, लेकिन उसके बाद मुझे CONNECT के बाद प्रॉक्सी से HTTP कोड 407 प्राप्त करना शुरू हुआ।
user130934

1
आप URL को किसी विशेष वर्ण को एन्कोड कर सकते हैं। उदाहरण के लिए @ 40% हो जाता है। meyerweb.com/eric/tools/dencoder
ब्रायंट

6

मुझे विंडोज के माहौल में भी यही समस्या थी।

मैंने अभी NTLM-APS (एक Windows NT प्रमाणीकरण प्रॉक्सी सर्वर) के साथ हल किया है

अपना NTML प्रॉक्सी कॉन्फ़िगर करें और इसे Git सेट करें:

git config --global http.proxy http://<username>:<userpsw>@localhost:<port>

3

एंड्रॉइड स्टूडियो से 407 त्रुटि थी। प्रॉक्सी को जोड़ने की कोशिश की, लेकिन कुछ नहीं हुआ। पता चला कि यह कंपनी के प्रमाणपत्र से संबंधित था, इसलिए मैंने अपने ब्राउज़र से निर्यात किया और इसे Git में जोड़ दिया।

वेब ब्राउज़र से निर्यात करें

इंटरनेट विकल्प> सामग्री> प्रमाण पत्र> निर्यात (विज़ार्ड का पालन करें, मैंने प्रारूप "बेस 64 एन्कोडेड X.509 (.CER) को चुना)

गिट बश में

git config --global http.sslCAInfo c:\Utilities\Certificates\my_certificate

निम्नलिखित पृष्ठ उपयोगी था https://blogs.msdn.microsoft.com/phkelley/2014/01/20/adding-a-corporate-or-self-signed-certificate-authority-to-git-exes-store/

प्रॉक्सी को जोड़ने के लिए, मैंने उपयोग किए गए अन्य थ्रेड्स की तरह

git config --global http.proxy proxy.company.net:8080
git config --global https.proxy proxy.company.net:8080

1
मैं डिफ़ॉल्ट कीस्टॉर को अधिलेखित नहीं करूंगा, "C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt"बल्कि अपनी कंपनी के प्रमाणपत्र को इसमें जोड़ सकता हूं (शायद लिंक में वर्णित एक अलग फ़ाइल में)।
जन्नोशन

3

मैं एक ही मुद्दे का सामना कर रहा था, इसलिए सबसे पहले मैंने अपनी npm फाइल की जाँच की कि मैंने क्या सेट किया है, मैंने इसे इस कमांड के साथ चेक किया: -

npm config get proxy

और मुझे पता है कि मैंने गलत प्रॉक्सी सेट की है और मैं अपनी इच्छा प्रॉक्सी का पालन कर रहा हूं:

npm config set proxy http://xxx.xxx.xxx.4:8080   
npm config set https-proxy http://xxx.xxx.xxx.4:8080

उसके बाद यह मेरे लिए काम करता है


1
क्या आप इस आदेश के बारे में निश्चित हैं: "npm config ...", क्योंकि मुझे लगता है कि यह "git config ..." होना चाहिए
गौरव लाड

2

आपका पासवर्ड गलत लग रहा है। अपने क्रेडेंशियल्स को रीचेक करें।


1

मेरे संगठन में भी यही समस्या थी।

कई प्रयासों के बाद, मैं निम्नलिखित समाधान पर आया:

  1. मैंने Kerberos से NTLM में प्रॉक्सी प्रमाणीकरण प्रकार को बदलने के लिए सिस्टम व्यवस्थापक पर आवेदन किया। मुझे यकीन नहीं है कि यह अनिवार्य था (मैं इस मामले में एक अज्ञानी हूं), लेकिन मेरे आवेदन को मंजूरी दे दी गई थी।

  2. उसके बाद मैं Git सेटिंग जोड़ें

    git config --global http.proxyauthmethod ntlm

उसके बाद ही मैं अपने भंडार का क्लोन बनाने में सक्षम था


1

मुझे भी यही समस्या थी, और मूल रूप से http.proxyAuthMethod को स्पष्ट रूप से सेट करके इसे हल करने का प्रयास किया।

मेरे सर्वर और प्रॉक्सी के बीच एक pcap ट्रेस चलाने के बाद, मैंने देखा कि "HTTP CONNECT" अनुरोध प्रॉक्सी को एक git क्लोन के दौरान भेजा गया था, फिर भी "Proxy-Authorization" हेडर को बेसिक पर सेट नहीं किया गया है। यह मेरे git संस्करण "1.8.3.1" के कारण था जो http.proxyAuthMethod का समर्थन नहीं करता है।

एक नवीनतम git संस्करण (2.16.6) को स्थापित करने के बाद, rpm संकुल का उपयोग करके यहां जोर से " https://repo.ius.io/7/x86_64/packages/g/ ", http.proxyAuthMethod को मूल रूप से सेट करने से अंत में git पर प्रभाव पड़ता है। व्यवहार और फिर मेरा git क्लोन सफल रहा।

आशा है कि ये आपकी मदद करेगा


0

मुझे लगता है कि इस बिंदु पर पहुंचने के बाद आपको अपने प्रयासों पर ध्यान केंद्रित करना चाहिए:

fatal: unable to access '<repo githup link>' Received HTTP code 407 from proxy after CONNECT

इसका मतलब है कि आपने प्रॉक्सी के साथ ठीक से प्रमाणीकरण नहीं किया है। क्या आप इस चरण में प्रदान किया गया पासवर्ड सही है की जाँच कर सकते हैं?

git config --global http.proxy http://<username>:<userpsw>@<proxy>:<port>

0

इस मुद्दे को कुछ दिनों पहले मेरे बिटकॉइन रिपॉजिटरी के साथ जोड़ा गया था। मैं https के बजाय http से दूरस्थ url सेट करके इसे ठीक करने में सक्षम था।

मैंने कमांड लाइन और git config में https प्रॉक्सी सेट करने की भी कोशिश की लेकिन यह काम नहीं किया।

$ git pull
fatal: unable to access 'https://username@bitbucket.org/sacgf/x.git/': Received HTTP code 407 from proxy after CONNECT

ध्यान दें कि हम https का उपयोग कर रहे हैं:

$ git remote -v
origin  https://username@bitbucket.org/sacgf/x.git (fetch)
origin  https://username@bitbucket.org/sacgf/x.git (push)

HTTP url से https url बदलें:

$ git remote set-url origin http://username@bitbucket.org/sacgf/x.git
$ git pull
Username for 'https://bitbucket.org': username
Password for 'https://username@bitbucket.org': 
remote: Counting objects: 43, done.
remote: Compressing objects: 100% (42/42), done.
remote: Total 43 (delta 31), reused 0 (delta 0)
Unpacking objects: 100% (43/43), done.
From http://bitbucket.org/sacgf/x
   a41eb87..ead1a92  master     -> origin/master
First, rewinding head to replay your work on top of it...
Fast-forwarded master to ead1a920caf60dd11e4d1a021157d3b9854a9374.
d

0

मैंने अपने कॉर्पोरेट नेटवर्क के आधार पर एक प्रॉक्सी का उपयोग करते समय इस त्रुटि का अनुभव किया, और दूसरी वीपीएन (प्रॉक्सी) पूरी तरह से अलग होने के बाद जब वीपीएन बाहर से आया। मैं मूल रूप से ऑन-प्रिमाइसेस प्रॉक्सी के लिए कॉन्फ़िगर किया गया था, त्रुटि प्राप्त की, और फिर वैकल्पिक, ऑफ-प्रीमियर, प्रॉक्सी का उपयोग करने के लिए मेरे कॉन्फ़िगरेशन को अपडेट करना पड़ा जब कहीं और काम कर रहा था।


0

मेरे पास समान मुद्दा था और मैंने नीचे दिए गए चरणों के साथ हल किया:

** git में प्रॉक्सी विवरण जोड़ें **

git config --global http.sslVerify false
git config --global https.sslVerify false
git config --global http.proxy http://user:pass@yourproxy:port
git config --global https.proxy http://user:pass@yourproxy:port

0

यह कॉन्फ़िगरेशन मेरे सेटअप में काम करता है:

[http]
    proxy = <your proxy>
[https] proxy = <your proxy>
[http]
    sslVerify = false
[https]
    sslVerify = false   
[credential]
    helper = wincred 

0

Sourcetree का उपयोग करते समय एक ही समस्या है कारण था कि शायद सिस्टम प्रॉक्सी को चालू किया जा रहा था जबकि sourcetree खुला था। किसी कारण से यह किसी प्रोजेक्ट की कॉन्फ़िग फ़ाइल में लिखा गया था। इसे "सेटिंग्स" -> "कॉन्फ़िगरेशन फ़ाइल संपादित करें" द्वारा आसानी से सॉर्सेट्री पर हटाया जा सकता है। बस इसे http के तहत वहाँ से हटा दें


0

Git Bash का उपयोग करते समय मुझे उसी समस्या का सामना करना पड़ा। जब मैंने कमांड प्रॉम्प्ट में वही काम किया तो यह पूरी तरह से काम कर गया।


0

सभी की जानकारी के लिए FYI करें

निम्न त्रुटि को हल करने के लिए यह एक उचित समाधान होता

Received HTTP code 407 from proxy after CONNECT

तो निम्नलिखित कमांड आवश्यक होना चाहिए

git config --global http.proxyAuthMethod 'basic'
git config --global https.proxy http://user:pass@proxyserver:port

जो निम्नलिखित विन्यास उत्पन्न करेगा

$ cat ~/.gitconfig
[http]
        proxy = http://user:pass@proxyserver:port
        proxyAuthMethod = basic

0

पासवर्ड से "@" को हटाना मेरे लिए और वैसे भी कभी भी आपके पासवर्ड में @ नहीं रहता है, यह आपको मैवेन और आगे की स्थापना के साथ समस्या देगा

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.