{"meta":{"title":"Verwendung von Proxyservern mit einem Runner","intro":"Sie können Runner in isolierten virtuellen Umgebungen konfigurieren, damit sie einen Proxyserver für die sichere Kommunikation mit GitHub verwenden.","product":"GitHub Actions","breadcrumbs":[{"href":"/de/actions","title":"GitHub Actions"},{"href":"/de/actions/how-tos","title":"Anleitungen"},{"href":"/de/actions/how-tos/manage-runners","title":"Verwalten von Runnern"},{"href":"/de/actions/how-tos/manage-runners/use-proxy-servers","title":"Verwenden von Proxyservern"}],"documentType":"article"},"body":"# Verwendung von Proxyservern mit einem Runner\n\nSie können Runner in isolierten virtuellen Umgebungen konfigurieren, damit sie einen Proxyserver für die sichere Kommunikation mit GitHub verwenden.\n\n## Konfigurieren eines Proxys für Linux- und Windows-Runner\n\nWenn Ihr Läufer über einen Proxyserver kommunizieren muss, können Sie Proxyeinstellungen mithilfe von Umgebungsvariablen oder Konfigurationen auf Systemebene konfigurieren.\n\n| Variable      | Description                                                                                           | Example                                                                                     |\n| ------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |\n| `https_proxy` | Proxy-URL für HTTPS-Datenverkehr. Sie können bei Bedarf die Standardauthentifizierung einschließen.                        | `http://proxy.local`<br>`http://192.168.1.1:8080`<br>`http://username:password@proxy.local` |\n| `http_proxy`  | Proxy-URL für HTTP-Datenverkehr. Sie können bei Bedarf die Standardauthentifizierung einschließen.                         | `http://proxy.local`<br>`http://192.168.1.1:8080`<br>`http://username:password@proxy.local` |\n| `no_proxy`    | Eine durch Trennzeichen getrennte Liste von Hosts oder IP-Adressen, die den Proxy umgehen sollten. Einige Clients berücksichtigen nur IP-Adressen, wenn Verbindungen direkt mit der IP und nicht mit einem Hostnamen hergestellt werden. | `example.com`<br>`example.com,myserver.local:443,example.org`                               |\n\nDie Proxyumgebungsvariablen werden gelesen, wenn die Läuferanwendung gestartet wird. Daher müssen Sie die Umgebungsvariablen festlegen, bevor Sie die Läuferanwendung konfigurieren oder starten. Wenn sich Ihre Proxykonfiguration ändert, müssen Sie die Läuferanwendung neu starten.\n\nAuf Windows-Rechnern sind die Namen der Proxy-Umgebungsvariablen unabhängig von der Groß-/Kleinschreibung. Auf Linux- und macOS-Rechnern wird empfohlen, alle Umgebungsvariablen in Kleinbuchstaben zu schreiben. Wenn eine Umgebungsvariable sowohl in Kleinbuchstaben als auch in Großbuchstaben unter Linux oder macOS vorhanden ist (z. B. `https_proxy` und `HTTPS_PROXY`), verwendet die selbstgehostete Runneranwendung die Umgebungsvariable in Kleinbuchstaben.\n\nDie Verbindung zwischen selbstgehosteten Runnern und GitHub verläuft über HTTPS (Port 443). \n\n> [!WARNING]\n> Selbstgehostete Runner unterstützen die Verwendung von IP-Adressen in der Umgebungsvariable `no_proxy` nicht. Wenn Ihre GitHub Enterprise Server Instanz eine IP-Adresse verwendet und Sie `no_proxy` so konfigurieren, dass der Proxy für diese Adresse umgangen wird, kann sich der Runner weiterhin nicht verbinden.\n> Wenn auf Ihre GitHub Enterprise Server Instanz mithilfe einer IP-Adresse zugegriffen wird und die Verbindung den Proxy umgehen muss, kann der Runner keine Verbindung herstellen, auch wenn diese IP-Adresse in `no_proxy`aufgeführt ist.\n\n### Beispielkonfigurationen\n\n> [!NOTE]\n> Um Probleme zu vermeiden, wird empfohlen, bei Umgebungsvariablen unabhängig vom Verhalten des verwendeten Betriebssystems und der verwendeten Shell die Groß-/Kleinschreibung zu beachten.\n\n#### Linux und macOS\n\nKonfigurieren Sie Proxy-Umgebungsvariablen für Ihren Runner.\n\n```shell copy\nexport https_proxy=http://proxy.local:8080\nexport http_proxy=http://proxy.local:8080\nexport no_proxy=example.com,localhost,127.0.0.1\n```\n\n#### Fenster\n\nUnter Windows können Sie Proxyeinstellungen entweder durch Festlegen von Umgebungsvariablen oder mithilfe des [Netsh-Befehls](https://learn.microsoft.com/en-us/windows/win32/winhttp/netsh-exe-commands#set-advproxy) konfigurieren.\nDer netsh-Ansatz gilt für Anwendungen und Dienste, die auf der WinHTTP-API basieren.\n\nDas Festlegen von Umgebungsvariablen ist für Läufer, die private Netzwerke verwenden, weiterhin erforderlich. Ob Sie netsh auch konfigurieren müssen, hängt von den anwendungen ab, die in Ihren Workflows verwendet werden.\n\n```shell copy\nnetsh winhttp set advproxy setting-scope=machine settings={\\\"Proxy\\\":\\\"proxy.local:8080\\\",\\\"ProxyBypass\\\":\\\"168.63.129.16;169.254.169.254\\\",\\\"AutoconfigUrl\\\":\\\"\\\",\\\"AutoDetect\\\":false} \n```\n\nVerwenden Sie `setting-scope=machine` beim Konfigurieren dieser Konfiguration während der benutzerdefinierten Imagegenerierung, um sicherzustellen, dass die Proxyeinstellungen nach neustarten und während der VM-Imageerstellung beibehalten werden.\n\n### Beständiges Erstellen von Proxyeinstellungen\n\nWenn Sie diese Umgebungsvariablen während der benutzerdefinierten Imagegenerierung festlegen, stellen Sie sicher, dass die Konfiguration über Neustarts oder Imageneuerstellungen hinweg beibehalten wird.\n\n#### Linux und macOS\n\nSchreiben Sie die Variablen in `/etc/environment`.\n\n```shell\n echo 'http_proxy=http://proxy.local' >> /etc/environment\n```\n\n#### Fenster\n\nLegen Sie die systemweiten Umgebungsvariablen fest.\n\n```shell copy\n[Environment]::SetEnvironmentVariable(\"http_proxy\", \"http://proxy.local\", \"Machine\")\n```\n\n## Konfigurieren eines Proxys für Azure-Runners\n\nWenn Ihr Runner in Azure gehostet wird, entweder als selbst gehosteter Runner oder als von GitHub bereitgestellter größerer Runner mit privatem Netzwerk, müssen Sie möglicherweise einen Proxy konfigurieren, um ausgehende Verbindungen zu GitHub-Diensten zuzulassen und gleichzeitig die Netzwerkisolation aufrechtzuerhalten.\n\nSie sollten Ihrer `no_proxy` Liste Azure-Metadaten- und Verwaltungs-IPs hinzufügen, um sicherzustellen, dass der Läufer auf erforderliche Azure-Dienste zugreifen kann. Diese Endpunkte ermöglichen Azure-VMs das Abrufen von Konfigurations- und Identitätsinformationen, die für den ordnungsgemäßen Betrieb erforderlich sind.\n\nDie beiden Azure-IPs sind:\n* 168.63.129.16 (siehe [Azure IP-Adresse 168.63.129.16 Übersicht](https://learn.microsoft.com/en-us/azure/virtual-network/what-is-ip-address-168-63-129-16?tabs=linux))\n* 169.254.169.254 (siehe [Azure Instance Metadata Service](https://learn.microsoft.com/en-us/azure/virtual-machines/instance-metadata-service?tabs=linux))\n\n## Eine .env-Datei zur Proxykonfiguration verwenden\n\n> [!NOTE]\n> Die Verwendung einer `.env` Datei zum Festlegen der Proxykonfiguration kann nicht auf einem von GitHub gehosteten Runner erfolgen.\n\nAuf selbstgehosteten Runners können Sie die Proxyeinstellungen konfigurieren, indem Sie die Variablen zu einer `.env` Datei im Anwendungsverzeichnis des selbstgehosteten Runners hinzufügen (das Verzeichnis, in das Sie die Runner-Software heruntergeladen und entpackt haben). Dieser Ansatz ist nützlich, wenn der Runner so konfiguriert ist, dass er als Dienst unter einem Systemkonto ausgeführt wird. Beim Start des Runners liest er die in `.env` festgelegten Variablen für die Proxy-Konfiguration.\n\n### Beispiel `.env`-Proxykonfiguration \n\n```shell copy\nhttps_proxy=http://proxy.local:8080\nno_proxy=example.com,myserver.local:443\n```\n\n## Festlegen der Proxy-Konfiguration für Docker-Container\n\nWenn Du Docker-Container-Aktionen oder Service-Container in Deinen Workflows verwendest, musst Du möglicherweise zusätzlich zur Einstellung der oben genannten Umgebungsvariablen auch Docker so konfigurieren, dass er Deinen Proxy-Server verwendet.\n\nWeitere Informationen zur erforderlichen Docker-Konfiguration findest du in der Docker-Dokumentation unter [Konfigurieren von Docker zum Verwenden eines Proxyservers](https://docs.docker.com/network/proxy/)."}