Vagrant 代理设置:主机下载与来宾任务
在结合 Vagrant 与 vagrant-proxyconf 使用代理时,分别在各自层级配置主机下载和来宾配置器。
Vagrant 项目在来宾存在之前就有一条主机下载路径,而来宾配置器和包管理工具还有另一条路径。请分别在它们运行的位置进行配置。
对于使用这些变量的主机工具,一条示例路由是:
export http_proxy=http://gateway.example:8080
export https_proxy=http://gateway.example:8080
Vagrant 记录了用于 HTTP box 下载的 http_proxy。获取插件同样需要从主机可达;来宾配置插件无法自行下载。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。shell 配置器的 export 也只在该 shell 及其子进程中生效;它不会建立后续的登录或服务策略。
如需移除,请使用该插件文档中给出的空/false 输入清除已写入来宾的配置。关闭主机终端不会删除这些持久文件。