Un progetto Vagrant ha un percorso di download sull'host prima che l'ospite esista e un altro percorso per i provisioner dell'ospite e gli strumenti dei pacchetti. Configura ciascuno dove viene eseguito.

Per gli strumenti dell'host che usano queste variabili, un esempio di percorso è:

export http_proxy=http://gateway.example:8080
export https_proxy=http://gateway.example:8080

Vagrant documenta http_proxy per i download dei box HTTP. Anche l'acquisizione dei plugin richiede raggiungibilità dall'host; un plugin di configurazione dell'ospite non può scaricare se stesso. Le destinazioni HTTPS possono comunque usare un valore di proxy HTTP. Per i download pubblici consentiti senza credenziali proxy configurate sul client host o ospite interessato, l'elenco di proxy HTTP può fornire endpoint HTTP adatti.

Con un vagrant-proxyconf compatibile già installato, fornisci all'ospite il suo percorso tramite il 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

Il plugin scrive la configurazione supportata dell'ospite prima dei provisioner. I suoi VAGRANT_HTTP_PROXY e gli input correlati possono sovrascrivere le impostazioni del file, quindi controllali quando le modifiche non hanno effetto.

Dal punto di vista dell'ospite, localhost significa l'ospite. Un proxy sul loopback dell'host richiede un percorso esplicitamente raggiungibile invece di un URL dell'host copiato. L'export di un provisioner shell termina anche con quella shell e i suoi figli; non stabilisce una politica successiva di accesso o di servizio.

Per rimuovere, cancella la configurazione già scritta nell'ospite usando gli input vuoti/false documentati del plugin. Chiudere il terminale dell'host non rimuove quei file persistenti.

Articoli correlati