Das Netzwerk meines Unternehmens verwendet Proxy. Wenn ich also verwende vagrant up
, wurde mir ein 401-Berechtigungsfehler angezeigt.
Wie kann ich eine Einstellung vornehmen, um Vagabund zu verwenden?
proxy
vagrant
http-proxy
ithelloworld
quelle
quelle
vagrant plugin install vagrant-proxyconf
. Jetzt weiß ich es .Antworten:
Proxyconf installieren:
Konfigurieren Sie Ihr Vagrantfile:
quelle
config.env_proxy.*
ist ab Version 2.0 veraltet und wurde durch ersetztconfig.proxy.*
.config.proxy.https = "https://yourproxy:8080"
ist dashttps
oderhttp
in der zweiten ZeileWenn Ihr Proxy eine Authentifizierung erfordert, ist es besser, die Umgebungsvariable festzulegen, als Ihr Kennwort in der Vagrant-Datei zu speichern. Auch Ihre Vagrant-Datei kann problemlos von anderen Personen verwendet werden, die sich nicht hinter einem Proxy befinden.
Für Mac / Linux (in Bash)
dann
Verwenden Sie für Windows set anstelle von export.
dann
quelle
export VAGRANT_HTTPS_PROXY=${https_proxy}
In den Mac / Linux-Anweisungen vergessen .Durch die Installation von proxyconf wird dieses Problem behoben. Hinter einem Proxy können Sie jedoch kein Plugin installieren, indem Sie einfach den Befehl verwenden
vagrant plugin install
. Bundler gibt einen Fehler aus.Stellen Sie Ihren Proxy in Ihrer Umgebung ein, wenn Sie ein Unix-ähnliches System verwenden
Oder erhalten Sie hier eine ausführlichere Antwort: Wie verwende ich den Bundler hinter einem Proxy?
danach richten Sie proxyconf ein
quelle
Erkennen Sie Ihre Proxy-Einstellungen automatisch und fügen Sie sie in Ihre gesamte Vagrant-VM ein
Installieren Sie das Proxy-Plugin
Fügen Sie dieses Conf zu Ihrem privaten / Benutzer VagrantFile hinzu (es wird für alle Ihre Projekte ausgeführt):
Jetzt auf Ihrer VM!
quelle
vagrant reload
wird behoben. Es kann am besten sein, Proxy-Einstellungen beim Herstellen einer Verbindung zu neuen Netzwerken automatisch zu erkennen und entweder den Benutzer zu benachrichtigen oder es nahtlos zum Laufen zu bringen. tmatilai.github.io/vagrant-proxyconf erwähnte die Deaktivierung, ist sich jedoch nicht sicher, ob diese Punkte behoben werden .Auf einem Windows-Host
Öffnen Sie eine CMD-Eingabeaufforderung.
Ersetzen Sie die Adresse und den Port in den obigen Ausschnitten durch die für Ihre Situation geeignete Adresse. Die obigen Einstellungen bleiben so lange bestehen, bis Sie die CMD-Eingabeaufforderung schließen. Wenn es für Sie funktioniert, sollten Sie sie dauerhaft zu Ihren Umgebungsvariablen hinzufügen, damit Sie sie nicht jedes Mal festlegen müssen, wenn Sie eine neue CMD-Eingabeaufforderung öffnen.
quelle
Unter Windows müssen Sie eine Variable festlegen, um Proxy-Einstellungen festzulegen. Laden Sie das Vagrant-Proxy-Conf-Plugin herunter: (Ersetzen Sie {PROXY_SCHEME} (http: // oder https: //), {PROXY_IP} und {PROXY_PORT} durch die richtigen Werte.)
Danach können Sie das Plugin hinzufügen, um Ihre Proxy-Einstellungen in der Vagrant-Datei fest zu codieren
Anschließend können Sie in Ihrer Vagrant-Datei die Einstellungen config.proxy.xxx angeben, um unabhängig von den Variablen der Umgebungseinstellungen zu sein
quelle
vagrant plugin install vagrant-proxyconf --plugin-source http://rubygems.org
srcSie sollten das Plugin proxyconf installieren, da dies die Konfiguration des Proxys für die Gastcomputer in der VagrantFile ziemlich einfach macht
Es gibt jedoch einige Dinge, die immer noch schief gehen könnten. Erstens können Sie hinter dem Proxy wahrscheinlich keine Vagrant-Plugins installieren. In diesem Fall sollten Sie die Quelle herunterladen, z. B. von rubygems.org, und von der Quelle installieren
Wenn Sie dieses Problem lösen, haben Sie möglicherweise das Glück, hinter einem NTLM-Proxy zu stehen. Wenn Sie also * nix auf Ihren Gastcomputern verwenden, haben Sie noch einen weiten Weg vor sich, da die NTLM-Authentifizierung von Haus aus nicht unterstützt wird. Es gibt viele Möglichkeiten das zu lösen. Ich habe CNTLM verwendet, um diesen Teil des Puzzles zu lösen. Es fungiert als Klebstoff zwischen Standardautorisierungsprotokollen und NTLM
Schauen Sie sich diesen Blogeintrag an, um einen vollständigen Überblick über das Einrichten von Vagabunden hinter einem Unternehmens-Proxy zu erhalten
quelle
vagrant plugin install file://fully/qualified/path/vagrant-proxyconf-1.x.0.gem
. Quelleplugin-source
Installation von einem lokalen GEM aus, aber ich habe es noch nicht geschafft, dies unter Windows zum Laufen zu bringen. Ich bin nicht sicher, ob meine Syntax falsch ist, wiefile://C:/path1/path2/vagrant-proxyconf-1.5.2.gem
? Ich habe auch den Ansatz ausprobiert, den @Martin oben erwähnt hat. Dies hat auch nicht funktioniert, da in diesem Fall immer noch versucht wird, Rubygems zu kontaktierenvagrant plugin install C:/folder1/folder2/vagrant-proxyconf-1.5.2.gem --plugin-clean-sources
Der Schlüssel ist--plugin-clean-sources
, dass es nicht versucht, auf Rubygems zuzugreifenIn der Frage wird der VM-Anbieter nicht erwähnt, aber in meinem Fall verwende ich Virtual Box in derselben Umgebung. In der Virtual Box-GUI gibt es eine Option, die ich aktivieren musste, damit sie funktioniert. Befindet sich in den Einstellungen der Virtual Box-App: Datei >> Einstellungen ... >> Proxy . Nachdem ich dies konfiguriert hatte, konnte ich ohne Probleme arbeiten. Hoffe dieser Tipp kann euch auch helfen.
quelle
Wenn Sie tatsächlich möchten, dass sich Ihre Proxy-Konfigurationen und Plugin-Installationen in Ihrer Vagrant-Datei befinden, z. B. wenn Sie eine Vagrant-Datei nur für Ihre Unternehmensumgebung erstellen und Benutzer keine Umgebungsvariablen bearbeiten können, war dies die Antwort für mich:
(Wenn Sie dies nicht tun, legen Sie sie einfach als Umgebungsvariablen fest, wie in den anderen Antworten angegeben, und verweisen Sie auf sie in env in den Anweisungen config.proxy.http (s).)
quelle
Einige Sonderzeichen im Kennwort verursachen Probleme im Proxy. Entkomme ihnen entweder oder vermeide Sonderzeichen im Passwort.
quelle
In PowerShell können Sie die Umgebungsvariablen http_proxy und https_proxy wie folgt festlegen :
quelle
In MS Windows funktioniert dies für uns:
Und das Äquivalent für * nix:
quelle