{"id":6463,"date":"2019-11-24T14:20:58","date_gmt":"2019-11-24T12:20:58","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=6463"},"modified":"2019-11-24T14:20:59","modified_gmt":"2019-11-24T12:20:59","slug":"vagrant-unter-windows-hinter-proxy-server-einrichten","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/vagrant-unter-windows-hinter-proxy-server-einrichten\/","title":{"rendered":"Vagrant unter Windows hinter Proxy-Server einrichten"},"content":{"rendered":"<p>Vagrant ist ein praktisches Werkzeug, um Linux-VMs auf jeder g\u00e4ngigen Plattform schnell und einfach erzeugen zu k\u00f6nnen. Wird das Tool hinter einem Proxyserver betrieben werden, sind einige \u00c4nderungen notwendig.<\/p>\n<p>Nach der Installation gibt es zwei M\u00f6glichkeiten, den Proxy-Server zu setzen:<\/p>\n<ul class=\"wp-block-list\">\n<li>Umgebungsvariablen HTTP_PROXY\/HTTPS_PROXY und ggf. NO_PROXY<\/li>\n<li>Globales <strong>Vagrantfile<\/strong> im Benutzerprofil via Proxy-Plugin<\/li>\n<\/ul>\n<p>Dieser Artikel besch\u00e4ftigt sich mit der zweiten Variante, da dies die flexibelste und zur Fehlersuche einfachste Variante ist. Im Pfad <strong>%USERPROFILE%\\.vagrant.d<\/strong> befindet sich eine Datei namens <strong>Vagrantfile<\/strong>. Sie wird global in jedem Vagrantfile eingebunden und eignet sich daher perfekt f\u00fcr solche globalen Konfigurationen. <\/p>\n<h2 class=\"wp-block-heading\">Proxy-Plugin installieren und einrichten<\/h2>\n<p>Zun\u00e4chst installieren wir ein Plugin, welches die Proxy-Konfiguration \u00fcbernimmt. Da hierf\u00fcr aber bereits eine Internetverbindung notwendig ist, muss der Proxy zun\u00e4chst \u00fcber die Umgebungsvariablen in der Shell gesetzt werden:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"\" data-line=\"\">set HTTP_PROXY=http:\/\/user:password@proxyserver\nset HTTPS_PROXY=%HTTP_PROXY%<\/code><\/pre>\n<p> Das Plugin wird mit folgendem Befehl in einer Admin-Shell installiert:<\/p>\n<pre class=\"wp-block-code\"><code class=\"\" data-line=\"\">vagrant plugin install vagrant-proxyconf<\/code><\/pre>\n<p>Nun in  <strong>%USERPROFILE%\\.vagrant.d\\Vagrantfile<\/strong> folgendes Snippet einf\u00fcgen:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-ruby\" data-line=\"\">ENV[&#039;http_proxy&#039;] = &#039;http:\/\/user:password@proxyserver&#039;\nENV[&#039;https_proxy&#039;] = ENV[&#039;http_proxy&#039;]\n\nVagrant.configure(&quot;2&quot;) do |config|\n  if Vagrant.has_plugin?(&quot;vagrant-proxyconf&quot;)\n    puts &quot;Proxyconf Plugin geladen, setze Umgebungsvariablen&quot;\n    config.proxy.http     = ENV[&#039;http_proxy&#039;]\n    config.proxy.https    = ENV[&#039;http_proxy&#039;]\n    config.proxy.no_proxy = &quot;localhost,127.0.0.1,internal&quot;\n  else \n\t  puts &quot;Fehler. Proxy-Conf plugin fehlt&quot;\n  end\nend<\/code><\/pre>\n<p>Falls die Datei noch nicht existiert, muss sie h\u00e4ndisch angelegt werden. Dadurch wird das Proxy-Plugin automatisch in jedem Vagrantfile konfiguriert. Ihr m\u00fcsst nur das Plugin einbinden:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-ruby\" data-line=\"\">required_plugins = %w(vagrant-proxyconf)<\/code><\/pre>\n<p>Zu beachten ist, dass Sonderzeichen mit Percent-Encoding maskiert werden m\u00fcssen. Aus einer Pipe &#8222;|&#8220; wird somit beispielsweise &#8222;%7&#8220;.<\/p>\n<h2 class=\"wp-block-heading\">MITM-Zertifikat vom Proxyserver einpflegen<\/h2>\n<p>Bricht ein MITM-Proxy den verschl\u00fcsselten HTTPS-Traffic auf, muss dessen Root-Zertifikat hinterlegt werden. Zun\u00e4chst ben\u00f6tigen wir das Zertifikat. Dies kann beispielsweise bei einem Webserver \u00fcber die Zertifikatskette im Browser ermittelt und in ein textbasiertes Format exportiert werden.<\/p>\n<p>Den Inhalt des Zertifikats h\u00e4ngen wir an die Datei <strong>C:\\HashiCorp\\Vagrant\\embedded\\cacert.pem<\/strong> an. Unter Linux findet ihr sie in \/<strong>opt\/vagrant\/embedded\/cacert.pem<\/strong>. <\/p>\n<p><strong>Wichtig:<\/strong> Nach jedem Update muss das Zertifikat dort erneut angeh\u00e4ngt werden, da Vagrant diese Datei mit den Standard-Zertifikaten \u00fcberschreibt. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vagrant ist ein praktisches Werkzeug, um Linux-VMs auf jeder g\u00e4ngigen Plattform schnell und einfach erzeugen zu k\u00f6nnen. Wird das Tool hinter einem Proxyserver betrieben werden, sind einige \u00c4nderungen notwendig. Nach der Installation gibt es zwei M\u00f6glichkeiten, den Proxy-Server zu setzen: Umgebungsvariablen HTTP_PROXY\/HTTPS_PROXY und ggf. NO_PROXY Globales Vagrantfile im Benutzerprofil via Proxy-Plugin Dieser Artikel besch\u00e4ftigt sich &#8230;<\/p>\n","protected":false},"author":5,"featured_media":6518,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[78],"tags":[773,758],"class_list":["post-6463","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","tag-proxy","tag-vagrant"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6463","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=6463"}],"version-history":[{"count":7,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6463\/revisions"}],"predecessor-version":[{"id":6473,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6463\/revisions\/6473"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media\/6518"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=6463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=6463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=6463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}