如何配置 Vagrant 来设置代理并使用它?

如何配置 Vagrant 来设置代理并使用它?

我有以下设置:

  • Windows 7 计算机
  • Ruby、Vagrant、VirtualBox 的安装
  • VBox 映像 Ubuntu 14.x
  • 我在公司内网工作,需要代理才能访问互联网

我可以通过将环境变量设置http_proxy为我们的代理来配置 VBox 映像,以便用户 vagrant 访问互联网。但是,当我尝试在 shell 配置程序中设置代理时,遇到了问题。以下是定义代理的脚本部分以及首次访问互联网的部分:

# Base setup proxy and DISPLAY
set HTTP_PROXY=http://proxy.name.com:8080
echo "Add proxy to necessary parts"
echo 'export http_proxy=http://proxy.name.com:8080' >> ~vagrant/.bash_profile
echo 'export DISPLAY=192.168.137.1:0.0' >> ~vagrant/.bash_profile
echo 'export http_proxy=http://proxy.name.com:8080' >> /root/.bash_profile
export http_proxy=$HTTP_PROXY

# Install Git
echo "Install Git"
apt-get update
apt-get install -y git
...

但是,我得到以下输出:

Add proxy to necessary parts
Install Git
Err http://security.ubuntu.com trusty-security InRelease

Err http://archive.ubuntu.com trusty InRelease

Err http://archive.ubuntu.com trusty-updates InRelease

Err http://security.ubuntu.com trusty-security Release.gpg
  Could not resolve 'security.ubuntu.com'
Err http://archive.ubuntu.com trusty Release.gpg
  Could not resolve 'archive.ubuntu.com'
Err http://archive.ubuntu.com trusty-updates Release.gpg
  Could not resolve 'archive.ubuntu.com'
Reading package lists...
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/InRelease
...

如何在 Unix 脚本中设置代理并立即使用它,以便可以使用apt-get,, ...?git clone

答案1

有一个插件!

安装vagrant-proxyconf

vagrant plugin install vagrant-proxyconf

配置它(在$HOME/.vagrant.d/Vagrantfile对于所有 Vagrant VM):

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

答案2

我尝试了这个并且有效,删除了set

HTTP_PROXY=http://10.206.246.20:8080
export http_proxy=$HTTP_PROXY

相关内容