Configurações de proxy do Vagrant para downloads do host e tarefas do convidado
Configure os downloads do host e os provisionadores do convidado nas suas próprias camadas quando usar um proxy com Vagrant e vagrant-proxyconf.
Um projeto Vagrant tem um caminho de download no host antes de o convidado existir, e outro caminho para os provisionadores do convidado e as ferramentas de pacotes. Configure cada um onde é executado.
Para as ferramentas do host que consomem essas variáveis, um exemplo de rota é:
export http_proxy=http://gateway.example:8080
export https_proxy=http://gateway.example:8080
O Vagrant documenta http_proxy para downloads de caixas HTTP. A obtenção de plugins também exige acessibilidade a partir do host; um plugin de configuração do convidado não pode baixar a si mesmo. Destinos HTTPS ainda podem usar um valor de proxy HTTP. Para downloads públicos permitidos sem credenciais de proxy configuradas no cliente do host ou do convidado correspondente, a lista de proxies HTTP pode fornecer endpoints HTTP adequados.
Com um vagrant-proxyconf compatível já instalado, dê ao convidado a sua rota por meio do 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
O plugin grava a configuração do convidado suportada antes dos provisionadores. As VAGRANT_HTTP_PROXY e entradas relacionadas podem substituir as configurações do arquivo, então verifique-as quando as alterações não entrarem em vigor.
Do ponto de vista do convidado, localhost significa o convidado. Um proxy no loopback do host exige um caminho explicitamente acessível em vez de uma URL de host copiada. O export de um provisionador shell também termina com esse shell e os seus filhos; ele não estabelece uma política posterior de login ou de serviço.
Para remover, limpe a configuração já gravada no convidado com as entradas vazias/false documentadas do plugin. Fechar o terminal do host não remove esses arquivos persistentes.