Sieć mojej firmy korzysta z serwera proxy. Więc kiedy używam vagrant up
, pokazał mi błąd pozwolenia 401.
Jak mogę ustawić niektóre ustawienia, aby używać włóczęgi?
proxy
vagrant
http-proxy
ithelloworld
źródło
źródło
vagrant plugin install vagrant-proxyconf
.Odpowiedzi:
Zainstaluj proxyconf:
Skonfiguruj swój plik Vagrantfile:
źródło
config.env_proxy.*
jest przestarzały od wersji 2.0 i został zastąpiony przezconfig.proxy.*
.config.proxy.https = "https://yourproxy:8080"
czy tohttps
czyhttp
w drugiej liniiJeśli Twój serwer proxy wymaga uwierzytelnienia, lepiej jest ustawić zmienną środowiskową niż przechowywać hasło w pliku Vagrantfile. Również plik Vagrantfile może być łatwo używany przez inne osoby, które nie korzystają z serwera proxy.
Dla Mac / Linux (w Bash)
następnie
W systemie Windows użyj set zamiast eksportu.
następnie
źródło
export VAGRANT_HTTPS_PROXY=${https_proxy}
w instrukcjach Mac / Linux.Zainstalowanie proxyconf rozwiąże ten problem, ale za proxy nie można zainstalować wtyczki po prostu za pomocą polecenia
vagrant plugin install
, Bundler zgłosi błąd.ustaw serwer proxy w swoim środowisku, jeśli używasz systemu podobnego do uniksowego
lub uzyskaj bardziej szczegółową odpowiedź tutaj: Jak używać bundlera za proxy?
po tym skonfiguruj proxyconf
źródło
Automatycznie wykrywaj ustawienia proxy i wstrzykuj je do wszystkich maszyn wirtualnych włóczęgów
zainstaluj wtyczkę proxy
dodaj to conf do ciebie prywatnego / użytkownika VagrantFile (zostanie wykonane dla wszystkich twoich projektów):
teraz uruchom swoją maszynę wirtualną!
źródło
vagrant reload
zostanie naprawiony i może być najlepszy do wykrywania ustawień proxy automatycznie przy podłączaniu do nowych sieci i albo ostrzegania użytkownika, albo sprawienia, by działało bezproblemowo. tmatilai.github.io/vagrant-proxyconf wspomniał o wyłączeniu, ale nie jestem pewien, czy dotyczy tych punktów.Na hoście z systemem Windows
otwórz monit CMD;
Zamień adres i port w powyższych fragmentach na odpowiednie dla Twojej sytuacji. Powyższe pozostanie ustawione, dopóki nie zamkniesz monitu CMD. Jeśli to zadziała, rozważ dodanie ich na stałe do zmiennych środowiskowych, aby nie trzeba było ich ustawiać za każdym razem, gdy otwierasz nowy monit CMD.
źródło
W systemie Windows musisz ustawić zmienną, aby określić ustawienia proxy, pobrać wtyczkę vagrant-proxyconf: (zamień {PROXY_SCHEME} (http: // lub https: //), {PROXY_IP} i {PROXY_PORT} odpowiednimi wartościami)
Następnie możesz dodać wtyczkę, aby na stałe zakodować ustawienia proxy w pliku włóczęgi
a następnie możesz podać ustawienia config.proxy.xxx w pliku Vagrantfile, aby były niezależne od zmiennych ustawień środowiskowych
źródło
vagrant plugin install vagrant-proxyconf --plugin-source http://rubygems.org
srcBędziesz chciał zainstalować wtyczkę proxyconf, ponieważ to sprawia, że konfiguracja proxy dla maszyn gości jest całkiem prosta w VagrantFile
Jednak jest kilka rzeczy, które mogą się nie udać. Po pierwsze, prawdopodobnie nie możesz zainstalować wtyczek włóczęgów, gdy jesteś za proxy. W takim przypadku należy pobrać źródło np. Z rubygems.org i zainstalować ze źródła
Jeśli rozwiążesz ten problem, możesz mieć szczęście przebywać za proxy NTLM, co oznaczaże jeśli używasz * nix na swoich maszynach-gościach to nadal masz jakąś drogę do zrobienia, ponieważ uwierzytelnianie NTLM nie jest obsługiwane natywnie Istnieje wiele sposobów rozwiązania tego problemu. Użyłem CNTLM do rozwiązania tej części układanki. Działa jak klej między standardowymi protokołami autoryzacji a NTLM
Aby uzyskać kompletny przewodnik, zapoznaj się z tym wpisem na blogu dotyczącym konfigurowania włóczęgi za korporacyjnym proxy
źródło
vagrant plugin install file://fully/qualified/path/vagrant-proxyconf-1.x.0.gem
. Źródłoplugin-source
zainstalowania z lokalnego GEM-u, ale nie udało mi się jeszcze uruchomić tego w systemie Windows. Nie jestem pewien, czy moja składnia jest nieprawidłowa, na przykładfile://C:/path1/path2/vagrant-proxyconf-1.5.2.gem
? Wypróbowałem również podejście, o którym @Martin wspomniał powyżej, to również nie zadziałało, ponieważ w tym przypadku nadal próbuje skontaktować się z rubygemamivagrant plugin install C:/folder1/folder2/vagrant-proxyconf-1.5.2.gem --plugin-clean-sources
kluczem jest--plugin-clean-sources
to, że nie próbuje uzyskać dostępu do rubygemówPytanie nie wspomina o dostawcy maszyny wirtualnej, ale w moim przypadku korzystam z Virtual Box w tym samym środowisku. W GUI wirtualnego pudełka jest opcja, którą musiałem włączyć, aby działała. Znajduje się w preferencjach aplikacji Virtual Box: Plik >> Preferencje ... >> Proxy . Gdy to skonfigurowałem, mogłem pracować bez problemów. Mam nadzieję, że ta wskazówka również wam pomoże.
źródło
Jeśli naprawdę chcesz, aby konfiguracje proxy i instalacje wtyczek były w Twoim pliku Vagrantfile, na przykład jeśli tworzysz plik Vagrantfile tylko dla środowiska korporacyjnego i nie możesz pozwolić użytkownikom edytować zmiennych środowiskowych, oto odpowiedź dla mnie:
(Jeśli nie, po prostu ustaw je jako zmienne środowiskowe, tak jak mówią inne odpowiedzi, i odwołaj się do nich z env w dyrektywach config.proxy.http (s).)
źródło
Niektóre znaki specjalne w haśle powodują problemy w proxy. Możesz ich uciec lub unikać znaków specjalnych w haśle.
źródło
W PowerShell możesz ustawić zmienne środowiskowe http_proxy i https_proxy w następujący sposób:
źródło
W MS Windows działa to dla nas:
I odpowiednik dla * nix:
źródło