یک پروژه Vagrant پیش از وجود مهمان یک مسیر دانلود روی میزبان دارد و مسیر دیگری برای تأمین‌کننده‌های مهمان و ابزارهای بسته. هر یک را جایی که اجرا می‌شود پیکربندی کنید.

برای ابزارهای میزبان که این متغیرها را مصرف می‌کنند، یک مسیر نمونه چنین است:

export http_proxy=http://gateway.example:8080
export https_proxy=http://gateway.example:8080

Vagrant متغیر http_proxy را برای دانلودهای جعبه HTTP مستند می‌کند. دریافت افزونه‌ها نیز به دسترسی از میزبان نیاز دارد؛ افزونهٔ پیکربندی مهمان نمی‌تواند خودش را دانلود کند. مقصدهای HTTPS همچنان می‌توانند از مقدار پروکسی HTTP استفاده کنند. برای دانلودهای عمومی مجاز که اعتبارنامهٔ پروکسی روی مشتری میزبان یا مهمان مربوطه پیکربندی نشده است، فهرست پروکسی HTTP می‌تواند نقاط پایانی HTTP مناسب ارائه دهد.

اگر vagrant-proxyconf سازگار از قبل نصب شده است، مسیرش را از طریق Vagrantfile به مهمان بدهید:

Vagrant.configure("2") do |config|
  if Vagrant.has_plugin?("vagrant-proxyconf")
    config.proxy.http = "http://gateway.example:8080"
    config.proxy.https = "http://gateway.example:8080"
    config.proxy.no_proxy = "localhost,127.0.0.1"
  end
end

افزونه پیکربندی پشتیبانی‌شدهٔ مهمان را پیش از تأمین‌کننده‌ها می‌نویسد. VAGRANT_HTTP_PROXY و ورودی‌های مرتبط آن می‌توانند تنظیمات فایل را بازنویسی کنند، پس وقتی تغییرات اثر نمی‌کنند آن‌ها را بررسی کنید.

از دید مهمان، localhost یعنی مهمان. پروکسی روی loopback میزبان به مسیری صریحاً قابل دسترس نیاز دارد، نه URL کپی‌شدهٔ میزبان. export یک تأمین‌کنندهٔ shell نیز با همان shell و فرزندانش پایان می‌یابد؛ سیاست ورود یا سرویس بعدی را برقرار نمی‌کند.

برای حذف، پیکربندی‌ای را که از قبل در مهمان نوشته شده با ورودی‌های خالی/false مستند افزونه پاک کنید. بستن ترمینال میزبان آن فایل‌های ماندگار را حذف نمی‌کند.

مقالات مرتبط