在工作中,我在代理服务器后面并配置了vagrant以通过vagrant-proxyconf插件使用它。它运作良好,没有任何问题或抱怨。
Vagrant.configure(2) do |config|
if Vagrant.has_plugin?("vagrant-proxyconf")
config.proxy.http = "http://proxy.server.com:8080"
config.proxy.https = "http://proxy.server.com:8080"
config.proxy.no_proxy = "localhost, 127.0.0.1"
else
raise Vagrant::Errors::VagrantError.new, "Plugin missing: vagrant-proxyconf"
end
我遇到的问题是当我把电脑带回家做一些工作时。有没有办法轻松关闭代理设置?
答案 0 :(得分:0)
您可以通过添加
来关闭代理config.proxy.enabled = false
到您的Vagrantfile但您需要编辑文件以进行更改(true / false标志)。你也可以使用外部配置文件,但它仍然需要文件编辑
基于this answer我会尝试的是
vagrant true/false up
并在你的Vagrantfile中
# -*- mode: ruby -*-
# vi: set ft=ruby :
proxy_val = ARGV[0]
Vagrant.configure(2) do |config|
if Vagrant.has_plugin?("vagrant-proxyconf")
config.proxy.enabled = proxy_val
config.proxy.http = "http://proxy.server.com:8080"
config.proxy.https = "http://proxy.server.com:8080"
config.proxy.no_proxy = "localhost, 127.0.0.1"
else
raise Vagrant::Errors::VagrantError.new, "Plugin missing: vagrant-proxyconf"
end
如果你有一些红宝石技能,你甚至可以提出更好的东西,但这会给你一个想法
即使代理被禁用,注意也会出现,代理值仍然按照doc
中的说明进行设置此禁用可保留应用程序的代理配置 客人。必要时,必须先清除配置,然后才能禁用。
所以使用上述提议的另一种可能性是做类似
的事情# -*- mode: ruby -*-
# vi: set ft=ruby :
proxy_val = ARGV[0]
Vagrant.configure(2) do |config|
if Vagrant.has_plugin?("vagrant-proxyconf")
config.proxy.enabled = proxy_val
if (proxy_val)
config.proxy.http = "http://proxy.server.com:8080"
config.proxy.https = "http://proxy.server.com:8080"
config.proxy.no_proxy = "localhost, 127.0.0.1"
else
config.proxy.http = ""
config.proxy.https = ""
config.proxy.no_proxy = ""
else
raise Vagrant::Errors::VagrantError.new, "Plugin missing: vagrant-proxyconf"
end