আমার সংস্থার নেটওয়ার্ক প্রক্সি ব্যবহার করছে। সুতরাং যখন আমি ব্যবহার করি vagrant up, এটি আমাকে 401 অনুমতি ত্রুটি দেখায়।
আমি কীভাবে কিছু অসম্পূর্ণ ব্যবহার করতে পারি?
আমার সংস্থার নেটওয়ার্ক প্রক্সি ব্যবহার করছে। সুতরাং যখন আমি ব্যবহার করি 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.*সংস্করণ ২.০ হিসাবে হ্রাস করা হয়েছে এবং প্রতিস্থাপন করা হয়েছে config.proxy.*।
config.proxy.https = "https://yourproxy:8080"এটি কি httpsবা httpদ্বিতীয় লাইনে
যদি আপনার প্রক্সিটির প্রমাণীকরণের প্রয়োজন হয় তবে ভ্যাগ্রেন্টফাইলে আপনার পাসওয়ার্ড সংরক্ষণের চেয়ে পরিবেশের পরিবর্তনশীল সেট করা ভাল। এছাড়াও আপনার ভ্যাগ্রান্টফাইল সহজেই অন্যরা ব্যবহার করতে পারেন যারা প্রক্সিটির পিছনে নেই।
ম্যাক / লিনাক্সের জন্য (ব্যাশে)
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}ম্যাক / লিনাক্সের নির্দেশাবলীতে (?) ভুলে গেছেন ।
প্রক্সিফোন ইনস্টল করা এটি সমাধান করবে, তবে প্রক্সিটির পিছনে আপনি কেবলমাত্র কমান্ডটি ব্যবহার করে একটি প্লাগইন ইনস্টল করতে পারবেন না vagrant plugin install, বান্ডলার একটি ত্রুটি বাড়িয়ে তুলবে।
আপনি যদি সিস্টেমের মতো ইউনিক্স ব্যবহার করেন তবে আপনার পরিবেশে আপনার প্রক্সি সেট করুন
export http_proxy=http://user:password@host:port
বা এখানে আরও বিশদ উত্তর পান: প্রক্সিটির পিছনে বান্ডেলার কীভাবে ব্যবহার করবেন?
এই সেট আপ করার পরে
আপনার প্রক্সি সেটিংস স্বয়ংক্রিয়ভাবে সনাক্ত করুন এবং এগুলি আপনার সমস্ত ভিজেন্ট ভিএম-তে ইনজেক্ট করুন
প্রক্সি প্লাগইন ইনস্টল করুন
vagrant plugin install vagrant-proxyconf
আপনার ব্যক্তিগত / ব্যবহারকারী ভ্যাগ্র্যান্টফাইলে এই চুক্তি যুক্ত করুন (এটি আপনার সমস্ত প্রকল্পের জন্য কার্যকর করা হবে):
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
এখন আপনার ভিএম আপ!
vagrant reloadহবে এবং একটি সিঙ্গল ফিক্স হয়ে যাবে এবং নতুন নেটওয়ার্কগুলির সাথে সংযোগ নেওয়ার ক্ষেত্রে স্বয়ংক্রিয়ভাবে / আউট প্রক্সি সেটিংস সনাক্তকরণ এবং ব্যবহারকারীকে সতর্ক করতে বা এটি নির্বিঘ্নে কাজ করা ভাল। tmatilai.github.io/vagrant-proxyconf অক্ষম করার কথা উল্লেখ করেছে তবে নিশ্চিত নয় যে এটি এই পয়েন্টগুলিকে সম্বোধন করে।
একটি উইন্ডোজ হোস্টে
একটি সিএমডি প্রম্পট খুলুন;
set HTTP_PROXY=http://proxy.yourcorp.com:80
set HTTPS_PROXY=https://proxy.yourcorp.com:443
উপরের স্নিপেটগুলিতে ঠিকানা এবং পোর্টটি আপনার অবস্থার জন্য যথাযথ উপযুক্ত প্রতিস্থাপন করুন। আপনি সিএমডি প্রম্পটটি বন্ধ না করা পর্যন্ত উপরেরগুলি সেট থাকবে। এটি যদি আপনার পক্ষে কাজ করে তবে এটিকে স্থায়ীভাবে আপনার পরিবেশের ভেরিয়েবলগুলিতে যুক্ত করার কথা বিবেচনা করুন যাতে প্রতিবার নতুন সিএমডি প্রম্পট খোলার সময় আপনাকে সেগুলি সেট করতে হবে না।
উইন্ডোজগুলিতে , আপনাকে প্রক্সি সেটিংস নির্দিষ্ট করতে, ভ্যাগ্র্যান্ট-প্রক্সিঙ্কফ প্লাগইন ডাউনলোড করতে হবে: (values PROXY_SCHEME} (HTTP: // বা https: //), {PROXY_IP} এবং values 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
এবং তারপরে আপনি পরিবেশ সেটিং ভেরিয়েবলের বিরুদ্ধে স্বাধীন হতে আপনার ভ্যাগ্রান্টফাইলে কনফিগার.প্রক্সি.এক্সএক্সএক্সএক্স সেটিংস সরবরাহ করতে পারেন
আপনি প্লাগইন প্রক্সিকনফ ইনস্টল করতে চাইবেন যেহেতু এটি অতিথির মেশিনগুলির জন্য প্রক্সিটি কনফিগার করতে ভ্যাগ্র্যান্টফাইলে সরাসরি এগিয়ে চলেছে
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
যদি আপনি এই সমস্যাটি সমাধান করেন তবে আপনার কোনও এনটিএলএম প্রক্সি রয়েছে, যার অর্থ যদি আপনি আপনার অতিথি মেশিনে * নিক্স ব্যবহার করছেন তবে আপনার এখনও কিছুটা পথ যেতে হবে, কারণ এনটিএলএম প্রমাণীকরণ স্থানীয়ভাবে সমর্থিত নয় এমন অনেকগুলি উপায় রয়েছে যে সমাধানের। আমি ধাঁধাটির অংশটি সমাধান করতে সিএনটিএলএম ব্যবহার করেছি। এটি স্ট্যান্ডার্ড অথরাইজেশন প্রোটোকল এবং এনটিএলএম এর মধ্যে আঠালো হিসাবে কাজ করে
সম্পূর্ণ পদক্ষেপ নেওয়ার জন্য, কর্পোরেট প্রক্সিটির পিছনে ভিজ্যর সেট আপ সম্পর্কে এই ব্লগ এন্ট্রিটি একবার দেখুন
plugin-sourceএকটি স্থানীয় জিইএম থেকে ইনস্টল করতে ব্যবহার করার দুর্দান্ত ধারণা , তবে উইন্ডোজটিতে এখনও এটি কাজ করতে সক্ষম হলাম না। আমি নিশ্চিত না যে আমার সিনট্যাক্সটি ভুল কিনা, যেমন file://C:/path1/path2/vagrant-proxyconf-1.5.2.gem? আমি @ মার্টিন উপরে উল্লিখিত পদ্ধতির চেষ্টাও করেছি, এটি এখনও কার্যকর হয়নি কারণ এটি এখনও রুবিজেমেসের সাথে যোগাযোগ করার চেষ্টা করছে
vagrant plugin install C:/folder1/folder2/vagrant-proxyconf-1.5.2.gem --plugin-clean-sourcesচাবিকাঠি --plugin-clean-sourcesযা ঘটায় এটিকে অ্যাক্সেস rubygems চেষ্টা না
প্রশ্নটি ভিএম সরবরাহকারীর উল্লেখ করে না তবে আমার ক্ষেত্রে, আমি একই পরিবেশে ভার্চুয়াল বক্স ব্যবহার করি। ভার্চুয়াল বক্স জিইউআইতে একটি অপশন রয়েছে যা এটি কার্যকর করার জন্য আমার সক্ষম করার প্রয়োজন হয়েছিল। ভার্চুয়াল বক্স অ্যাপ্লিকেশন পছন্দগুলিতে অবস্থিত: ফাইল >> পছন্দসমূহ ... >> প্রক্সি । একবার এটি কনফিগার করার পরে, আমি সমস্যা ছাড়াই কাজ করতে সক্ষম হয়েছি। আশা করি এই টিপটি আপনাকে ছেলেরাও সহায়তা করতে পারে।
যদি আপনি প্রকৃতপক্ষে আপনার প্রক্সি কনফিগারেশন এবং প্লাগইন ইনস্টলেশনগুলি আপনার ভ্যাগ্রান্টফাইলে থাকতে চান, উদাহরণস্বরূপ আপনি যদি কেবল আপনার কর্পোরেট পরিবেশের জন্য ভ্যাগ্রান্টফিল তৈরি করে থাকেন এবং ব্যবহারকারীরা পরিবেশের ভেরিয়েবলগুলি সম্পাদনা করতে না পারেন তবে আমার জন্য উত্তরটি ছিল:
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
(যদি আপনি এটি না করেন তবে কেবলমাত্র অন্যান্য উত্তরের মত পরিবেশের ভেরিয়েবল হিসাবে এগুলি সেট করুন এবং কনফিগারেশন-প্রক্সি।
পাসওয়ার্ডের কিছু বিশেষ অক্ষর প্রক্সিতে সমস্যা তৈরি করে। হয় এগুলি এড়িয়ে চলুন বা পাসওয়ার্ডের বিশেষ অক্ষরগুলি এড়ানো উচিত।