कॉर्पोरेट VPN प्रॉक्सीच्या मागे 407: npm, Maven आणि VS Code
407 म्हणजे प्रॉक्सी ओळखपत्रे मागते, नोंदणी बंद आहे असे नाही. npm, Maven, VS Code आणि कंटेनर संरचित करा आणि अंतर्गत होस्ट वगळा.
ब्राउझरमध्ये अंतर्गत पृष्ठ उघडणे हे फक्त प्रॉक्सी ब्राउझरसाठी चालते हे सिद्ध करते, npm किंवा Maven साठी नाही. प्रत्येक क्लायंट स्वतःची संरचना वाचतो, आणि केवळ VPN ने पोहोचणारे नेटवर्क दुसरा प्रश्न जोडते: क्लायंट प्रॉक्सीपर्यंत पोहोचतो का. स्थिती कोडपासून सुरुवात करा आणि नंतर अयशस्वी झालेल्या साधनाची संरचना साखळी पाहा.
407 प्रत्यक्षात काय सिद्ध करते
407 Proxy Authentication Required प्रॉक्सीकडून येते, नोंदणी किंवा साठ्याकडून नाही. क्लायंट प्रॉक्सीपर्यंत पोहोचला आणि प्रॉक्सीने विनंती नाकारली, सहसा ओळखपत्रे नसल्यामुळे, चुकीच्या स्वरूपात असल्यामुळे किंवा त्या गंतव्यासाठी स्वीकारली न गेल्यामुळे.
वेळ संपणे वेगळी गोष्ट सांगते: चुकीचा प्रॉक्सी पत्ता, बोगदा उभारण्यापूर्वी प्रॉक्सीकडे मार्ग नाही, किंवा अंतर्गत होस्टसाठी बायपास नोंद गहाळ. ओळखपत्रे बदलण्यापूर्वी त्रुटीचा मजकूर वाचा.
प्रॉक्सी होस्ट, पोर्ट, प्रमाणीकरण पद्धत आणि वापरकर्तानावाला डोमेन उपसर्ग हवा का ते तपासा. नंतर साधन मूल्य फाइल, पर्यावरण चल किंवा दोन्हीतून वाचते का ते पाहा. डोमेनसह नाव 407 चे सामान्य कारण आहे, चुकीच्या एन्कोडिंगमध्ये साठवलेला संकेतशब्दही तसेच.
npm स्वतःची संरचना साखळी वाचते
npm वापरकर्ता किंवा प्रकल्प .npmrc मध्ये proxy आणि https-proxy किल्ल्या स्वीकारते. योजना लिहा, कारण मूल्ये URL आहेत, आणि संकेतशब्दातील राखीव अक्षरे एन्कोड करा जेणेकरून at चिन्ह मूल्य विभागणार नाही.
proxy=http://proxy.example.com:8080
https-proxy=http://proxy.example.com:8080
strict-ssl=true
npm config list ने कोणत्या फाइलने कोणते प्रभावी मूल्य दिले ते दिसते. npm_config_proxy सारखे shell export फाइल मागे टाकू शकते, आणि वैयक्तिक संकेतशब्द असलेले प्रकल्प-स्तरीय .npmrc कधीही commit करू नये. मूल्यासह स्रोत मार्ग छापा.
strict-ssl सुरू ठेवा. TLS तपासणारी प्रॉक्सी विश्वास संग्रहातील कॉर्पोरेट CA मागू शकते; त्रुटी टाळण्यासाठी पडताळणी बंद करणे खरी विश्वासाची समस्या लपवते.
Maven प्रॉक्सी आणि आरसे वेगळे ठेवते
Maven प्रॉक्सी आणि आरसे वापरकर्त्याच्या settings फाइलमधून वाचते, प्रकल्पाच्या pom मधून नाही. नेटवर्क-विशिष्ट प्रॉक्सी आणि अंतर्गत साठ्याचे आरसे ~/.m2/settings.xml मध्ये ठेवा, सार्वजनिक साठा घोषणा प्रकल्पात ठेवा.
प्रॉक्सी ब्लॉकला id, सक्रिय झेंडा, प्रोटोकॉल, होस्ट आणि पोर्ट, आणि अंतर्गत साठ्यासाठी nonProxyHosts नोंद लागते. ही क्षेत्रे pom मध्ये नाही तर वापरकर्त्याच्या फाइलमध्ये ठेवा, जेणेकरून नेटवर्क बदल संपूर्ण टीमचा build पुन्हा लिहिणार नाही.
Maven थेट जोडण्यासाठी अंतर्गत साठा nonProxyHosts मध्ये जोडा. ही नोंद नसल्यास प्रॉक्सी अनावश्यक थांबा होते आणि अयशस्वीता साठा बंद असल्यासारखी दिसते. आरशाची नोंद अंतर्गत साठ्याकडे निर्देश करते आणि प्रॉक्सी संरचना बदलत नाही.
नेटवर्क बदलणारे विकसक प्रत्येक नेटवर्कसाठी एक settings फाइल ठेवू शकतात आणि shell सुरू होताना योग्य प्रत निवडू शकतात. प्रत्येक बदलात एक फाइल हाताने संपादित करणे चालणारा लॅपटॉप सपोर्ट तिकिट बनवते.
VS Code आणि dev कंटेनरची नावे वेगळी आहेत
VS Code http.proxy वापरकर्ता किंवा कार्यक्षेत्र संरचनांमधून वाचते, योजना आणि पोर्टसह. हे संपादकाच्या विस्तार आणि मार्केटप्लेस विनंत्या झाकते, पण टर्मिनल किंवा संपादकातून सुरू केलेला कंटेनर स्वयंचलितपणे संरचित करत नाही. संरचनेची व्याप्ती आणि मूल्य दोन्ही तपासा.
dev कंटेनरला स्वतःची नेटवर्क नावांची जागा असते. तो होस्टचे प्रॉक्सी चल किंवा VPN मार्ग वारसा घेत नाही, म्हणून कंटेनरमधील मार्केटप्लेस कॉल अयशस्वी होऊ शकतो तर तोच कॉल होस्टवर चालतो.
कंटेनरला ते चल द्या, किंवा स्वतःचा resolver आणि मार्ग द्या. आत नावे सुटली तरी प्रॉक्सी कधीच उत्तर देत नसेल, तर गहाळ भाग सहसा मार्ग असतो, पत्ता नाही.
बायपास याद्या आणि पर्यावरणाचे प्राधान्य
VPN गेटवे, अंतर्गत नोंदणी आणि खाजगी DNS प्रत्यय बायपास यादीत जोडा. बोगदा येण्यापूर्वी क्लायंटने प्रॉक्सीद्वारे गेटवेकडे जाण्याचा प्रयत्न केल्यास कनेक्शन प्रॉक्सी बंद असल्यासारखे अयशस्वी होते. बोगदा बंद ठेवून ते बायपास तपासा.
पर्यावरण चल आणि फाइलींमध्ये तफावत असू शकते. shell चे नाही तर साधनाचे स्वतःचे संरचना dump चालवा आणि मूल्ये तुलना करा. लहान अक्षरांचे दुहेरी चल, पालक shell मधील जुने मूल्य किंवा प्रकल्प फाइल नुकतीच बदललेली संरचना मागे टाकू शकते.
CI मध्ये प्रॉक्सी गुप्त चल म्हणून द्या आणि त्याच image मध्ये एक पॅकेज प्रतिष्ठापन तपासा. कंटेनरमधील 407 म्हणजे चल तिथे नाही, तर होस्ट shell मध्ये आहे.
प्रत्येक साधनासाठी प्रॉक्सी होस्ट, पोर्ट, बायपास प्रत्यय आणि ते देणारी फाइल किंवा चल नोंदवा. एक क्लायंट 407 परत देतो आणि दुसरा चालतो तेव्हा ती नोंद चार वेगळ्या संरचनांची तुलना लहान तपासणीत बदलते.