Le réseau de mon entreprise utilise un proxy. Ainsi, lorsque j'utilise vagrant up
, cela m'a montré une erreur d'autorisation 401.
Comment puis-je faire un réglage pour utiliser vagrant?
proxy
vagrant
http-proxy
ithelloworld
la source
la source
vagrant plugin install vagrant-proxyconf
.Réponses:
Installez proxyconf:
Configurez votre Vagrantfile:
la source
config.env_proxy.*
est obsolète à partir de la version 2.0 et a été remplacé parconfig.proxy.*
.config.proxy.https = "https://yourproxy:8080"
est-cehttps
ouhttp
en deuxième ligneSi votre proxy nécessite une authentification, il est préférable de définir la variable d'environnement plutôt que de stocker votre mot de passe dans le Vagrantfile. De plus, votre Vagrantfile peut être utilisé facilement par d'autres personnes qui ne sont pas derrière un proxy.
Pour Mac / Linux (dans Bash)
puis
Pour Windows, utilisez set au lieu d'exporter.
puis
la source
export VAGRANT_HTTPS_PROXY=${https_proxy}
Dans les instructions Mac / Linux.L'installation de proxyconf résoudra ce problème, mais derrière un proxy, vous ne pouvez pas installer un plugin simplement en utilisant la commande
vagrant plugin install
, Bundler générera une erreur.définissez votre proxy dans votre environnement si vous utilisez un système de type Unix
ou obtenez une réponse plus détaillée ici: Comment utiliser le bundler derrière un proxy?
après cette configuration de proxyconf
la source
Détectez automatiquement vos paramètres de proxy et injectez-les dans toutes vos VM vagabondes
installer le plugin proxy
ajoutez cette configuration à votre VagrantFile privé / utilisateur (il sera exécuté pour tous vos projets):
maintenant votre VM!
la source
vagrant reload
sera corrigé, et il pourrait être préférable de détecter automatiquement les paramètres de proxy entrant / sortant lors de la connexion à de nouveaux réseaux, et d'alerter l'utilisateur ou de le faire fonctionner de manière transparente. tmatilai.github.io/vagrant-proxyconf a mentionné la désactivation, mais pas sûr que cela résout ces points.Sur un hôte Windows
ouvrez une invite CMD;
Remplacez l'adresse et le port dans les extraits ci-dessus par ce qui convient à votre situation. Ce qui précède restera défini jusqu'à ce que vous fermiez l'invite CMD. Si cela fonctionne pour vous, pensez à les ajouter de manière permanente à vos variables d'environnement afin de ne pas avoir à les définir à chaque fois que vous ouvrez une nouvelle invite CMD.
la source
Sous Windows , vous devez définir une variable pour spécifier les paramètres du proxy, téléchargez le plugin vagrant-proxyconf: (remplacez {PROXY_SCHEME} (http: // ou https: //), {PROXY_IP} et {PROXY_PORT} par les bonnes valeurs)
Après cela, vous pouvez ajouter le plugin pour coder en dur vos paramètres de proxy dans le fichier vagrant
puis vous pouvez fournir les paramètres config.proxy.xxx dans votre fichier Vagrant pour être indépendant des variables de paramètres d'environnement
la source
vagrant plugin install vagrant-proxyconf --plugin-source http://rubygems.org
srcVous voudrez installer le plugin proxyconf car cela rend la configuration du proxy pour les machines invitées assez simple dans le VagrantFile
Cependant, il y a pas mal de choses qui pourraient encore mal tourner. Premièrement, vous ne pouvez probablement pas installer de plugins vagrant derrière le proxy. Si tel est le cas, vous devez télécharger la source, par exemple sur rubygems.org et l'installer à partir des sources
Si vous résolvez ce problème, vous pourriez avoir la chance d'être derrière un proxy NTLM, ce qui signifie que si vous utilisez * nix sur vos machines invitées, vous avez encore du chemin à faire, car l'authentification NTLM n'est pas prise en charge en mode natif Il existe de nombreuses façons de résoudre cela. J'ai utilisé CNTLM pour résoudre cette partie du puzzle. Il sert de colle entre les protocoles d'autorisation standard et NTLM
Pour un aperçu complet, jetez un œil à cette entrée de blog sur la configuration du vagabond derrière un proxy d'entreprise
la source
vagrant plugin install file://fully/qualified/path/vagrant-proxyconf-1.x.0.gem
. Sourceplugin-source
pour installer à partir d'un GEM local, mais je n'ai pas encore réussi à faire fonctionner cela sous Windows. Je ne sais pas si ma syntaxe est incorrecte, commefile://C:/path1/path2/vagrant-proxyconf-1.5.2.gem
? J'ai également essayé l'approche mentionnée par @Martin ci-dessus, cela n'a pas non plus fonctionné car il essaie toujours de contacter rubygems dans ce casvagrant plugin install C:/folder1/folder2/vagrant-proxyconf-1.5.2.gem --plugin-clean-sources
la clé est--plugin-clean-sources
de ne pas essayer d'accéder aux rubygemsLa question ne mentionne pas le VM Provider mais dans mon cas, j'utilise Virtual Box sous le même environnement. Il y a une option dans l'interface graphique de Virtual Box que je devais activer pour la faire fonctionner. Se trouve dans les préférences de l'application Virtual Box: Fichier >> Préférences ... >> Proxy . Une fois que j'ai configuré cela, j'ai pu travailler sans problèmes. J'espère que cette astuce pourra également vous aider.
la source
Si vous voulez réellement que vos configurations de proxy et installations de plugins soient dans votre Vagrantfile, par exemple si vous créez un Vagrantfile juste pour votre environnement d'entreprise et que vous ne pouvez pas laisser les utilisateurs éditer les variables d'environnement, c'était la réponse pour moi:
(Si vous ne le faites pas, définissez-les simplement comme des variables d'environnement comme le disent les autres réponses et faites-y référence à partir de env dans les directives config.proxy.http (s).)
la source
Certains caractères spéciaux dans le mot de passe créent un problème dans le proxy. Soit les échapper, soit éviter d'avoir des caractères spéciaux dans le mot de passe.
la source
Dans PowerShell, vous pouvez définir les variables d'environnement http_proxy et https_proxy comme suit :
la source
Dans MS Windows, cela fonctionne pour nous:
Et l'équivalent pour * nix:
la source