多环境下如何使用Vagrant-proxyconf
How to use Vagrant-proxyconf in multiple environments
在工作中,我在代理服务器后面,并已将 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
我遇到的问题是当我把电脑带回家做一些工作时。有没有办法轻松关闭代理设置?
您可以通过添加
来关闭代理
config.proxy.enabled = false
添加到您的 Vagrantfile,但您需要编辑文件以进行更改(true/false 标志)。你也可以使用外部配置文件,如果你已经有了,但它仍然需要一个文件编辑
基于我会尝试的是
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
如果你有一些 ruby 技能,你甚至可以想出更好的东西,但这会给你一个想法
注意 即使代理被禁用,代理值仍然按照 doc
中提到的设置
This disabling keeps proxy configurations for applications on the
guest. The configurations must be cleared before disabling if needed.
所以使用上述建议的另一种可能性是做类似
的事情
# -*- 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
在工作中,我在代理服务器后面,并已将 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
我遇到的问题是当我把电脑带回家做一些工作时。有没有办法轻松关闭代理设置?
您可以通过添加
来关闭代理config.proxy.enabled = false
添加到您的 Vagrantfile,但您需要编辑文件以进行更改(true/false 标志)。你也可以使用外部配置文件,如果你已经有了,但它仍然需要一个文件编辑
基于
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
如果你有一些 ruby 技能,你甚至可以想出更好的东西,但这会给你一个想法
注意 即使代理被禁用,代理值仍然按照 doc
中提到的设置This disabling keeps proxy configurations for applications on the guest. The configurations must be cleared before disabling if needed.
所以使用上述建议的另一种可能性是做类似
的事情# -*- 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