मेरी कंपनी का नेटवर्क प्रॉक्सी का उपयोग कर रहा है। इसलिए जब मैं उपयोग करता हूं vagrant up
, तो उसने मुझे 401 अनुमति त्रुटि दिखाई।
मैं योनि का उपयोग करने के लिए कुछ सेटिंग कैसे कर सकता हूं?
vagrant plugin install vagrant-proxyconf
।
मेरी कंपनी का नेटवर्क प्रॉक्सी का उपयोग कर रहा है। इसलिए जब मैं उपयोग करता हूं vagrant up
, तो उसने मुझे 401 अनुमति त्रुटि दिखाई।
मैं योनि का उपयोग करने के लिए कुछ सेटिंग कैसे कर सकता हूं?
vagrant plugin install vagrant-proxyconf
।
जवाबों:
प्रॉक्सीकोनफ स्थापित करें:
vagrant plugin install vagrant-proxyconf
अपने Vagrantfile को कॉन्फ़िगर करें:
config.proxy.http = "http://yourproxy:8080"
config.proxy.https = "http://yourproxy:8080"
config.proxy.no_proxy = "localhost,127.0.0.1"
config.env_proxy.*
संस्करण 2.0 के रूप में हटा दिया गया है और इसके द्वारा प्रतिस्थापित किया गया है config.proxy.*
।
config.proxy.https = "https://yourproxy:8080"
वह है https
या http
दूसरी पंक्ति में
यदि आपके प्रॉक्सी को प्रमाणीकरण की आवश्यकता है, तो अपने पासवर्ड को Vagrantfile में संग्रहीत करने के बजाय पर्यावरण चर को सेट करना बेहतर है। इसके अलावा आपके Vagrantfile का उपयोग अन्य लोग आसानी से कर सकते हैं जो प्रॉक्सी के पीछे नहीं हैं।
मैक / लिनक्स के लिए (बाश में)
export http_proxy="http://user:password@host:port"
export https_proxy="http://user:password@host:port"
vagrant plugin install vagrant-proxyconf
फिर
export VAGRANT_HTTP_PROXY=${http_proxy}
export VAGRANT_HTTPS_PROXY=${https_proxy}
export VAGRANT_NO_PROXY="127.0.0.1"
vagrant up
निर्यात के बजाय विंडोज उपयोग सेट के लिए।
set http_proxy=http://user:password@host:port
set https_proxy=https://user:password@host:port
vagrant plugin install vagrant-proxyconf
फिर
set VAGRANT_HTTP_PROXY=%http_proxy%
set VAGRANT_HTTPS_PROXY=%https_proxy%
set VAGRANT_NO_PROXY="127.0.0.1"
vagrant up
export VAGRANT_HTTPS_PROXY=${https_proxy}
Mac / Linux निर्देशों में (?) भूल गए ।
प्रॉक्सीकोनफ स्थापित करने से यह हल हो जाएगा, लेकिन एक प्रॉक्सी के पीछे आप केवल कमांड का उपयोग करके एक प्लगइन स्थापित नहीं कर सकते vagrant plugin install
, बुंडलर एक त्रुटि उठाएगा।
यदि आप सिस्टम जैसे यूनिक्स का उपयोग कर रहे हैं तो अपने वातावरण में अपना प्रॉक्सी सेट करें
export http_proxy=http://user:password@host:port
या यहां अधिक विस्तृत उत्तर प्राप्त करें: प्रॉक्सी के पीछे बंडल का उपयोग कैसे करें?
इसके बाद प्रोक्सीकोनफ की स्थापना करें
ऑटो आपकी प्रॉक्सी सेटिंग्स का पता लगाता है और उन्हें आपके सभी वीएमएन में इंजेक्ट करता है
प्रॉक्सी प्लगइन स्थापित करें
vagrant plugin install vagrant-proxyconf
निजी / उपयोगकर्ता VagrantFile में इसे जोड़ें।
vi $HOME/.vagrant.d/Vagrantfile
Vagrant.configure("2") do |config|
puts "proxyconf..."
if Vagrant.has_plugin?("vagrant-proxyconf")
puts "find proxyconf plugin !"
if ENV["http_proxy"]
puts "http_proxy: " + ENV["http_proxy"]
config.proxy.http = ENV["http_proxy"]
end
if ENV["https_proxy"]
puts "https_proxy: " + ENV["https_proxy"]
config.proxy.https = ENV["https_proxy"]
end
if ENV["no_proxy"]
config.proxy.no_proxy = ENV["no_proxy"]
end
end
end
अब अपने VM!
vagrant reload
जाएगा और एक सिंगल फिक्स होगा, और नए नेटवर्क से कनेक्ट होने पर स्वचालित रूप से / बाहर प्रॉक्सी सेटिंग्स का पता लगाने के लिए सबसे अच्छा हो सकता है, और या तो उपयोगकर्ता को सतर्क कर सकता है, या इसे मूल रूप से काम कर सकता है। tmatilai.github.io/vagrant-proxyconf ने अक्षमता का उल्लेख किया है, लेकिन निश्चित रूप से यह इन बिंदुओं को संबोधित नहीं करता है।
एक विंडोज होस्ट पर
CMD प्रॉम्प्ट खोलें;
set HTTP_PROXY=http://proxy.yourcorp.com:80
set HTTPS_PROXY=https://proxy.yourcorp.com:443
अपनी स्थिति के लिए जो भी उपयुक्त हो, उपरोक्त स्निपेट्स में पते और पोर्ट को बदलें। जब तक आप CMD प्रॉम्प्ट को बंद नहीं करेंगे तब तक ऊपर सेट रहेगा। यदि यह आपके लिए काम करता है, तो उन्हें अपने पर्यावरण चर में स्थायी रूप से जोड़ने पर विचार करें ताकि आपको हर बार नया सीएमपी प्रॉम्प्ट खोलने पर उन्हें सेट न करना पड़े।
खिड़कियों पर , आपको प्रॉक्सी सेटिंग्स निर्दिष्ट करने के लिए एक चर सेट करना होगा, योनि-प्रोक्सीकोनॉफ प्लगइन डाउनलोड करें: ({PROXY_SCHEME} (http: // या https: //), {PROXY_IP} और {PROXY_PORT} को सही मानों से बदलें)
set http_proxy={PROXY_SCHEME}{PROXY_IP}:{PROXY_PORT}
set https_proxy={PROXY_SCHEME}{PROXY_IP}:{PROXY_PORT}
उसके बाद, आप योनि फ़ाइल में अपनी प्रॉक्सी सेटिंग्स को हार्डकोड करने के लिए प्लगइन जोड़ सकते हैं
vagrant plugin install vagrant-proxyconf --plugin-source http://rubygems.org
और फिर आप पर्यावरण सेटिंग्स चर के खिलाफ स्वतंत्र होने के लिए अपने Vagrantfile में config.proxy.xxx सेटिंग्स प्रदान कर सकते हैं
आप प्लगइन proxyconf स्थापित करना चाहते हैं क्योंकि इससे अतिथि मशीनों के लिए प्रॉक्सी को कॉन्फ़िगर करना बहुत सीधा आगे Vrrantidile में हो जाएगा
config.proxy.http = "http://proxy:8888"
config.proxy.https = "http://proxy:8883"
config.proxy.no_proxy = "localhost,127.0.0.1"
हालाँकि, अभी भी कुछ चीजें हैं जो अभी भी गलत हो सकती हैं। सबसे पहले, आप शायद प्रॉक्सी के पीछे योनि प्लग इन स्थापित नहीं कर सकते। अगर ऐसा है तो आपको rubygems.org से स्रोत डाउनलोड करना चाहिए और स्रोत से इंस्टॉल करना चाहिए
$ vagrant plugin install vagrant-proxyconf --plugin-source file://fully/qualified/path/vagrant-proxyconf-1.x.0.gem
यदि आप उस समस्या को हल करते हैं, तो आपके पास NTLM प्रॉक्सी के पीछे होने का सौभाग्य हो सकता है, जिसका अर्थ है कि यदि आप अपनी अतिथि मशीनों पर * nix का उपयोग कर रहे हैं, तो आपके पास अभी भी कुछ रास्ता है, क्योंकि NTLM प्रमाणीकरण मूल रूप से समर्थित नहीं है, कई तरीके हैं। उस को हल करने में। मैंने CNTLM का उपयोग पहेली के tht भाग को हल करने के लिए किया है। यह मानक प्राधिकरण प्रोटोकॉल और NTLM के बीच गोंद के रूप में कार्य करता है
पूरी तरह से टहलने के लिए, एक कॉर्पोरेट प्रॉक्सी के पीछे योनि सेट करने के बारे में इस ब्लॉग प्रविष्टि पर एक नज़र डालें
plugin-source
एक स्थानीय GEM से स्थापित करने के लिए उपयोग करने के लिए बहुत अच्छा विचार है , लेकिन मैं इस काम को अभी तक विंडोज पर प्राप्त करने में कामयाब नहीं हुआ हूं। मुझे यकीन नहीं है कि अगर मेरा वाक्यविन्यास गलत है, जैसे file://C:/path1/path2/vagrant-proxyconf-1.5.2.gem
? मैंने उस दृष्टिकोण की भी कोशिश की है जो @Martin ने ऊपर उल्लेख किया है, यह भी काम नहीं कर रहा है क्योंकि यह अभी भी उस मामले में माणिक से संपर्क करने की कोशिश कर रहा है
vagrant plugin install C:/folder1/folder2/vagrant-proxyconf-1.5.2.gem --plugin-clean-sources
वह कुंजी --plugin-clean-sources
जिसके कारण यह रूबीज तक पहुंचने की कोशिश नहीं करता है
प्रश्न वीएम प्रदाता का उल्लेख नहीं करता है लेकिन मेरे मामले में, मैं उसी वातावरण के तहत वर्चुअल बॉक्स का उपयोग करता हूं। वर्चुअल बॉक्स जीयूआई में एक विकल्प है जिसे मुझे काम करने के लिए सक्षम करने की आवश्यकता है। वर्चुअल बॉक्स एप्लिकेशन प्राथमिकताओं में स्थित है: फ़ाइल >> प्राथमिकताएँ ... >> प्रॉक्सी । एक बार जब मैंने इसे कॉन्फ़िगर किया, तो मैं समस्याओं के बिना काम करने में सक्षम था। आशा है कि यह टिप भी आप लोगों की मदद कर सकती है।
यदि आप वास्तव में चाहते हैं कि आपके प्रॉक्सी कॉन्फ़िगरेशन और प्लगइन इंस्टॉलेशन आपके Vagrantfile में हों, उदाहरण के लिए यदि आप अपने कॉरपोरेट वातावरण के लिए Vagrantfile बना रहे हैं और आपके पास उपयोगकर्ताओं के पर्यावरण चर का संपादन नहीं हो सकता है, तो यह मेरे लिए जवाब था:
ENV['http_proxy'] = 'http://proxyhost:proxyport'
ENV['https_proxy'] = 'http://proxyhost:proxyport'
# Plugin installation procedure from http://stackoverflow.com/a/28801317
required_plugins = %w(vagrant-proxyconf)
plugins_to_install = required_plugins.select { |plugin| not Vagrant.has_plugin? plugin }
if not plugins_to_install.empty?
puts "Installing plugins: #{plugins_to_install.join(' ')}"
if system "vagrant plugin install #{plugins_to_install.join(' ')}"
exec "vagrant #{ARGV.join(' ')}"
else
abort "Installation of one or more plugins has failed. Aborting."
end
end
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.proxy.http = "#{ENV['http_proxy']}"
config.proxy.https = "#{ENV['https_proxy']}"
config.proxy.no_proxy = "localhost,127.0.0.1"
# and so on
(यदि आप ऐसा नहीं करते हैं, तो उन्हें पर्यावरण चर के रूप में सेट करें जैसे अन्य उत्तर कहते हैं और उन्हें config.proxy.http (s) निर्देशों में env से संदर्भित करते हैं।)
पासवर्ड में कुछ विशेष अक्षर प्रॉक्सी में समस्या पैदा करते हैं। या तो उनसे बच जाएं या पासवर्ड में विशेष वर्ण रखने से बचें।