প্রক্সি পরিবেশে ভ্যাগ্র্যান্ট কীভাবে ব্যবহার করবেন?


93

আমার সংস্থার নেটওয়ার্ক প্রক্সি ব্যবহার করছে। সুতরাং যখন আমি ব্যবহার করি vagrant up, এটি আমাকে 401 অনুমতি ত্রুটি দেখায়।

আমি কীভাবে কিছু অসম্পূর্ণ ব্যবহার করতে পারি?


4
আপনি এই জন্য googled আছে?
ঘোস্ট উত্তর

দুঃখিত, আমি না vagrant plugin install vagrant-proxyconf। এখন আমি জানি ।
ithelloworld

তবে আমি কনফিগার করা ফাইলটিতে আমার প্রক্সি ইউআরএল ইনস্টল ও সেট করার পরে ফলাফলটি একই রকম হয়েছিল 40 401
#heelorld

উত্তর:


104

প্রক্সিঙ্কফ ইনস্টল করুন:

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"

4
config.env_proxy.*সংস্করণ ২.০ হিসাবে হ্রাস করা হয়েছে এবং প্রতিস্থাপন করা হয়েছে config.proxy.*
টমলক 26'14

config.proxy.https = "https://yourproxy:8080"এটি কি httpsবা httpদ্বিতীয় লাইনে
'45

4
এটা উভয় হতে পারে। আমার কোম্পানির HTTP এবং HTTPS সালে একই প্রক্সি কোন HTTP হয় মাধ্যমে যায়
আলেহান্দ্রো মোরেনো

31
ঠিক আছে যখন আমি 'ভ্যাগ্র্যান্ট প্লাগইন ইনস্টল করি ভ্যাগ্রান্ট-প্রক্সিঙ্কফ' চালাচ্ছি তখন এটি আমার প্রক্সিটিকে আঘাত করে?
মার্ক ব্রডহার্স্ট

10
একটি মাত্র উল্লেখ করার জন্য, আপনি যদি প্রক্সিটির পিছনে থাকেন তবে আপনি প্লাগইন ইনস্টল করতে পারবেন না।
ব্যবহারকারী 3426711

87

যদি আপনার প্রক্সিটির প্রমাণীকরণের প্রয়োজন হয় তবে ভ্যাগ্রেন্টফাইলে আপনার পাসওয়ার্ড সংরক্ষণের চেয়ে পরিবেশের পরিবর্তনশীল সেট করা ভাল। এছাড়াও আপনার ভ্যাগ্রান্টফাইল সহজেই অন্যরা ব্যবহার করতে পারেন যারা প্রক্সিটির পিছনে নেই।

ম্যাক / লিনাক্সের জন্য (ব্যাশে)

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

4
এছাড়াও, আপনি যদি এটি আপনার পরিবেশে থাকতে চান না, আপনি কেবলমাত্র একটি আদেশে সেই পরিবেশের ভেরিয়েবলের জন্য VAGRANT_HTTP_PROXY = " ব্যবহারকারী: পাসওয়ার্ড @ হোস্ট: পোর্ট " ভিজেন্ট আপ (এক্সপোর্ট বা সেট ছাড়াই) করতে পারেন।
maccam912

4
দুর্দান্ত সমাধান হিসাবে এটি ভ্যাগ্রান্টফাইলে যেখানে তারা স্পষ্টভাবে অন্তর্ভুক্ত নয় সেখানে প্রক্সি সেটিংস স্থাপনের প্রয়োজন নেই
ইমরেশন করুন

7
উইন্ডোজ পাওয়ারসেল v6.0: v এনভিভি: http_proxy = " ব্যবহারকারীর: পাসওয়ার্ড @ হোস্ট: পোর্ট ": এনভি: https_proxy = " ব্যবহারকারী: পাসওয়ার্ড @ হোস্ট: পোর্ট " ভ্যাগ্র্যান্ট প্লাগইন ইনস্টল ভ্যাগ্রান্ট-প্রক্সিঙ্কফ
জোলানি

4
উইন্ডোজ গিট ব্যাশ ব্যবহারকারীদের জন্য, ম্যাক / লিনাক্স (ব্যাশে) নির্দেশাবলী ব্যবহার করুন .eg: রফতানি করুন http_proxy = " ব্যবহারকারী: পাসওয়ার্ড @ হোস্ট: পোর্ট "
Xolani

4
আপনি export VAGRANT_HTTPS_PROXY=${https_proxy}ম্যাক / লিনাক্সের নির্দেশাবলীতে (?) ভুলে গেছেন ।
টম হুন্ড

54

প্রক্সিফোন ইনস্টল করা এটি সমাধান করবে, তবে প্রক্সিটির পিছনে আপনি কেবলমাত্র কমান্ডটি ব্যবহার করে একটি প্লাগইন ইনস্টল করতে পারবেন না vagrant plugin install, বান্ডলার একটি ত্রুটি বাড়িয়ে তুলবে।

আপনি যদি সিস্টেমের মতো ইউনিক্স ব্যবহার করেন তবে আপনার পরিবেশে আপনার প্রক্সি সেট করুন

export http_proxy=http://user:password@host:port

বা এখানে আরও বিশদ উত্তর পান: প্রক্সিটির পিছনে বান্ডেলার কীভাবে ব্যবহার করবেন?

এই সেট আপ করার পরে


10
উইন্ডোজগুলিতে আমি আপনার পরামর্শ অনুযায়ী যা করেছি কিন্তু "এক্সপোর্ট" এর পরিবর্তে "এসইটি" ব্যবহার করেছি। ভ্যাগ্রান্টফাইলে কোনও পরিবর্তন না করে প্রত্যাশার মতো কাজ করেছেন।
ড্যানিয়েল ওয়াটারস

28

আপনার প্রক্সি সেটিংস স্বয়ংক্রিয়ভাবে সনাক্ত করুন এবং এগুলি আপনার সমস্ত ভিজেন্ট ভিএম-তে ইনজেক্ট করুন

প্রক্সি প্লাগইন ইনস্টল করুন

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

এখন আপনার ভিএম আপ!


4
আমি এই উত্তরটি পছন্দ করি কারণ এটি ইতিমধ্যে আমার হোস্ট ওএস-এ ঘোষণা করেছি এমন HTTP_PROXY এনভ ভেরিয়েবলগুলি পুনরায় ব্যবহার করে। কাটা-পেস্টে মৃত্যু !!
রিপভ্লান

দেখে মনে হচ্ছে এগিয়ে যাওয়ার মতো ভাল উপায়। প্রক্সিটির বাইরে যাওয়ার সময় এটি অক্ষম করার বিষয়ে কী? খুঁজে পাওয়া গেছে যে বিভিন্ন ধরণের সরঞ্জাম / অ্যাপ্লিকেশনগুলিকে কাজ করতে যোজনাগুলি প্লাগইন একাধিক স্থানে অতিথি লিনাক্সকে খোঁচা দিয়েছে। অক্ষম করার কোনও সহজ উপায় আছে? এগুলি কমপক্ষে কমান্ড লাইন পতাকা থেকে পৃথক vagrant reloadহবে এবং একটি সিঙ্গল ফিক্স হয়ে যাবে এবং নতুন নেটওয়ার্কগুলির সাথে সংযোগ নেওয়ার ক্ষেত্রে স্বয়ংক্রিয়ভাবে / আউট প্রক্সি সেটিংস সনাক্তকরণ এবং ব্যবহারকারীকে সতর্ক করতে বা এটি নির্বিঘ্নে কাজ করা ভাল। tmatilai.github.io/vagrant-proxyconf অক্ষম করার কথা উল্লেখ করেছে তবে নিশ্চিত নয় যে এটি এই পয়েন্টগুলিকে সম্বোধন করে।
arntg

বুঝতে নিশ্চিত না হলেও এই স্নিপেটটি প্রক্সি প্লাগইন সেটআপ করার জন্য http_proxy env var এর অস্তিত্ব পরীক্ষা করে। আপনি যদি * _প্রক্সি এনভিভি ব্যবহার না করেন তবে এটি 'অ্যাক্টিভেটেড' (?) হওয়া উচিত
কোয়ার্সডাস

11

একটি উইন্ডোজ হোস্টে

একটি সিএমডি প্রম্পট খুলুন;

set HTTP_PROXY=http://proxy.yourcorp.com:80
set HTTPS_PROXY=https://proxy.yourcorp.com:443

উপরের স্নিপেটগুলিতে ঠিকানা এবং পোর্টটি আপনার অবস্থার জন্য যথাযথ উপযুক্ত প্রতিস্থাপন করুন। আপনি সিএমডি প্রম্পটটি বন্ধ না করা পর্যন্ত উপরেরগুলি সেট থাকবে। এটি যদি আপনার পক্ষে কাজ করে তবে এটিকে স্থায়ীভাবে আপনার পরিবেশের ভেরিয়েবলগুলিতে যুক্ত করার কথা বিবেচনা করুন যাতে প্রতিবার নতুন সিএমডি প্রম্পট খোলার সময় আপনাকে সেগুলি সেট করতে হবে না।


9

উইন্ডোজগুলিতে , আপনাকে প্রক্সি সেটিংস নির্দিষ্ট করতে, ভ্যাগ্র্যান্ট-প্রক্সিঙ্কফ প্লাগইন ডাউনলোড করতে হবে: (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

এবং তারপরে আপনি পরিবেশ সেটিং ভেরিয়েবলের বিরুদ্ধে স্বাধীন হতে আপনার ভ্যাগ্রান্টফাইলে কনফিগার.প্রক্সি.এক্সএক্সএক্সএক্স সেটিংস সরবরাহ করতে পারেন


এসএসএল শংসাপত্র যাচাইয়ের সময় ত্রুটি এড়াতে কেবল একটি অতিরিক্ত প্যারামিটার (https থেকে HTTP তে রুবিজেম): vagrant plugin install vagrant-proxyconf --plugin-source http://rubygems.org src
boly38

এটি পূর্ববর্তীগুলির চেয়ে ভাল সমাধান, কারণ এটির অন্য কোনও প্রয়োজন নেই need অন্যান্য সমাধানগুলি (একটি প্লাগইন ইনস্টল করুন) এর জন্য প্রথমে বিনামূল্যে ইন্টারনেট অ্যাক্সেস সেট করা দরকার set
রাউল লুনা

5

আপনি প্লাগইন প্রক্সিকনফ ইনস্টল করতে চাইবেন যেহেতু এটি অতিথির মেশিনগুলির জন্য প্রক্সিটি কনফিগার করতে ভ্যাগ্র্যান্টফাইলে সরাসরি এগিয়ে চলেছে

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

যদি আপনি এই সমস্যাটি সমাধান করেন তবে আপনার কোনও এনটিএলএম প্রক্সি রয়েছে, যার অর্থ যদি আপনি আপনার অতিথি মেশিনে * নিক্স ব্যবহার করছেন তবে আপনার এখনও কিছুটা পথ যেতে হবে, কারণ এনটিএলএম প্রমাণীকরণ স্থানীয়ভাবে সমর্থিত নয় এমন অনেকগুলি উপায় রয়েছে যে সমাধানের। আমি ধাঁধাটির অংশটি সমাধান করতে সিএনটিএলএম ব্যবহার করেছি। এটি স্ট্যান্ডার্ড অথরাইজেশন প্রোটোকল এবং এনটিএলএম এর মধ্যে আঠালো হিসাবে কাজ করে

সম্পূর্ণ পদক্ষেপ নেওয়ার জন্য, কর্পোরেট প্রক্সিটির পিছনে ভিজ্যর সেট আপ সম্পর্কে এই ব্লগ এন্ট্রিটি একবার দেখুন


কেন এটিকে ভোট দেওয়া হয়েছে তা জানতে আগ্রহী হব। এটি ব্যাখ্যা করে যে কীভাবে সমস্যাটি সমাধান করা যায় এবং কীভাবে আপনার মুখোমুখি হতে পারে এমন অন্যান্য সমস্যাগুলি কীভাবে সমাধান করতে হয়
রুন এফএস

এটি ইতিমধ্যে একাধিকবার একই উত্তর প্রদান করেছে? এছাড়াও, আপনি কর্পোরেট প্রক্সিটি গ্রহণ করছেন তবে ভ্যাব্রেন্ট প্লাগইনগুলি কী করতে হবে তা বলে না, এটি কেবলমাত্র বলেছে যে এটি কোনও সমস্যা হবে এবং তারপরে অন্য কোথাও সংযুক্ত হবে।
eis

দেখে মনে হচ্ছে এখন হওয়া উচিত vagrant plugin install file://fully/qualified/path/vagrant-proxyconf-1.x.0.gemসূত্র
মার্টিন

plugin-sourceএকটি স্থানীয় জিইএম থেকে ইনস্টল করতে ব্যবহার করার দুর্দান্ত ধারণা , তবে উইন্ডোজটিতে এখনও এটি কাজ করতে সক্ষম হলাম না। আমি নিশ্চিত না যে আমার সিনট্যাক্সটি ভুল কিনা, যেমন file://C:/path1/path2/vagrant-proxyconf-1.5.2.gem? আমি @ মার্টিন উপরে উল্লিখিত পদ্ধতির চেষ্টাও করেছি, এটি এখনও কার্যকর হয়নি কারণ এটি এখনও রুবিজেমেসের সাথে যোগাযোগ করার চেষ্টা করছে
অ্যাডাম বার্লি

4
এটি আমার জন্য কাজ করেন: vagrant plugin install C:/folder1/folder2/vagrant-proxyconf-1.5.2.gem --plugin-clean-sourcesচাবিকাঠি --plugin-clean-sourcesযা ঘটায় এটিকে অ্যাক্সেস rubygems চেষ্টা না
আদম মধ্যে Burley

2

প্রশ্নটি ভিএম সরবরাহকারীর উল্লেখ করে না তবে আমার ক্ষেত্রে, আমি একই পরিবেশে ভার্চুয়াল বক্স ব্যবহার করি। ভার্চুয়াল বক্স জিইউআইতে একটি অপশন রয়েছে যা এটি কার্যকর করার জন্য আমার সক্ষম করার প্রয়োজন হয়েছিল। ভার্চুয়াল বক্স অ্যাপ্লিকেশন পছন্দগুলিতে অবস্থিত: ফাইল >> পছন্দসমূহ ... >> প্রক্সি । একবার এটি কনফিগার করার পরে, আমি সমস্যা ছাড়াই কাজ করতে সক্ষম হয়েছি। আশা করি এই টিপটি আপনাকে ছেলেরাও সহায়তা করতে পারে।


1

যদি আপনি প্রকৃতপক্ষে আপনার প্রক্সি কনফিগারেশন এবং প্লাগইন ইনস্টলেশনগুলি আপনার ভ্যাগ্রান্টফাইলে থাকতে চান, উদাহরণস্বরূপ আপনি যদি কেবল আপনার কর্পোরেট পরিবেশের জন্য ভ্যাগ্রান্টফিল তৈরি করে থাকেন এবং ব্যবহারকারীরা পরিবেশের ভেরিয়েবলগুলি সম্পাদনা করতে না পারেন তবে আমার জন্য উত্তরটি ছিল:

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

(যদি আপনি এটি না করেন তবে কেবলমাত্র অন্যান্য উত্তরের মত পরিবেশের ভেরিয়েবল হিসাবে এগুলি সেট করুন এবং কনফিগারেশন-প্রক্সি।


1

পাসওয়ার্ডের কিছু বিশেষ অক্ষর প্রক্সিতে সমস্যা তৈরি করে। হয় এগুলি এড়িয়ে চলুন বা পাসওয়ার্ডের বিশেষ অক্ষরগুলি এড়ানো উচিত।


1

পাওয়ারশেলে আপনি http_proxy এবং https_proxy এনভায়রনমেন্ট ভেরিয়েবলগুলি সেট করতে পারেন:

$env:http_proxy="http://proxy:3128"
$env:https_proxy="http://proxy:3128"

0

এমএস উইন্ডোজে এটি আমাদের পক্ষে কাজ করে:

set http_proxy=< proxy_url >
set https_proxy=< proxy_url >

এবং * নিক্সের সমতুল্য:

export http_proxy=< proxy_url >
export https_proxy=< proxy_url >
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.