> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Air-gapped Devin: Netzwerk und Zertifikate

> Konfigurieren Sie air-gapped Devin Desktop und CLI für Ihr Netzwerk: Vertrauen Sie einer privaten CA über DEVIN_CA_BUNDLE, verwenden Sie einen Proxy und beheben Sie NET- und CFG004-Codes.

> [!NOTE]
>
> Diese Dokumentation gilt für föderale Deployments von Devin. [Zurück zur Devin-Dokumentation](/de/get-started/devin-intro)

Die air-gapped CLI und Devin Desktop verbinden sich mit den Modell-Endpunkten aus Ihrer [Modelldatei](/de/federal/air-gapped/models-file), dem Issuer des Identitätsanbieters aus Ihrer [Auth-Datei](/de/federal/air-gapped/sso) sowie mit allen lokal konfigurierten MCP-Servern. Auf dieser Seite erfahren Sie, welche Voraussetzungen Ihr Netzwerk für diese Verbindungen erfüllen muss: TLS-Vertrauen, ein optionaler Proxy und die Codes, die bei einem Verbindungsfehler angezeigt werden.

***

## TLS-Anforderungen

* Jede Modell-`base_url` und der SSO-`issuer` müssen `https://` verwenden. Unverschlüsseltes `http://` wird nur für Loopback-Hosts (`localhost`, `127.0.0.0/8`, `[::1]`) akzeptiert.
* Zertifikate werden anhand des Vertrauensspeichers des Betriebssystems geprüft (Security.framework unter macOS, der System-CA-Speicher unter Linux). Wenn Ihre Endpunkte von einer CA signiert sind, die bereits auf der Workstation installiert ist, ist keine weitere Konfiguration erforderlich.
* Wenn Ihre Endpunkte von einer privaten CA signiert sind, die sich *nicht* im Vertrauensspeicher des Betriebssystems befindet, fügen Sie sie wie unten beschrieben über `DEVIN_CA_BUNDLE` hinzu. Die CLI deaktiviert die Zertifikatsprüfung grundsätzlich nicht.

## Einer privaten CA mit `DEVIN_CA_BUNDLE` vertrauen

`DEVIN_CA_BUNDLE` verweist auf eine PEM-Datei, deren Zertifikate **zusätzlich** zum Vertrauensspeicher des Betriebssystems als vertrauenswürdig gelten. Die Variable gilt für Inferenzanfragen, für Prüfungen durch `devin airgap doctor` sowie für jede Anfrage, die die CLI während der SSO-Anmeldung und -Revalidierung an Ihren IdP sendet.

**1. Paket zusammenstellen**

Legen Sie das Root-Zertifikat (und, falls vorhanden, die Zwischenzertifikate) Ihrer privaten CA in einer einzigen PEM-Datei ab. Die Datei darf mehrere `-----BEGIN CERTIFICATE-----`-Blöcke enthalten.

```sh theme={null}
sudo install -m 0644 ./corp-root-ca.pem /etc/devin/ca-bundle.pem
```

Ihre Endpunkte müssen weder ein Zertifikat noch eine CA gemeinsam nutzen. Es gibt nur ein Paket für den gesamten Agent-Prozess, und es gilt für jede Verbindung. Wenn verschiedene Endpunkte von unterschiedlichen privaten CAs signiert sind, fassen Sie daher alle diese CAs in derselben Datei zusammen:

```sh theme={null}
cat ./corp-root-ca.pem ./ml-platform-ca.pem ./idp-root-ca.pem | sudo tee /etc/devin/ca-bundle.pem > /dev/null
sudo chmod 0644 /etc/devin/ca-bundle.pem
```

Mit diesem Paket gelten `https://vllm.corp.example` (signiert von `corp-root-ca`), `https://models.ml.example` (signiert von `ml-platform-ca`) und Ihr IdP (signiert von `idp-root-ca`) als vertrauenswürdig. Endpunkte, deren CA sich bereits im Vertrauensspeicher des Betriebssystems befindet, benötigen keinen Eintrag. Die Modelldatei enthält keine modellspezifischen Zertifikats- oder TLS-Felder, und separate Pakete pro Endpunkt werden nicht unterstützt.

**2. Variable in der Umgebung des Agents exportieren**

```sh theme={null}
export DEVIN_CA_BUNDLE=/etc/devin/ca-bundle.pem
```

Die Variable muss für den Prozess sichtbar sein, der den Agent ausführt. Setzen Sie sie für die Terminal-CLI im Shell-Profil jedes Nutzers. Für Desktop setzen Sie sie auf dieselbe Weise wie die API-Schlüssel-Variablen der Modelle (siehe [API-Schlüssel als Umgebungsvariablen](/de/federal/air-gapped/models-file#api-key-environment-variables)): Fügen Sie sie der Einstellung `devin.acp.agentEnv` hinzu, oder verwenden Sie unter macOS `launchctl setenv DEVIN_CA_BUNDLE /etc/devin/ca-bundle.pem` (`open` übergibt die Umgebung Ihrer Shell nicht an die App).

**3. Mit doctor überprüfen**

```sh theme={null}
devin airgap doctor
```

```text theme={null}
…
pass  CA bundle                                 /etc/devin/ca-bundle.pem (3 certificate(s))
pass  model 'llama-3.3-70b': endpoint reachability  GET https://vllm.corp.example/v1/models -> 200 OK (trusted only via DEVIN_CA_BUNDLE — the OS trust store alone rejects this endpoint's certificate)
pass  model 'qwen3-vl-32b': endpoint reachability  GET https://models.ml.example/v1/models -> 200 OK (trusted only via DEVIN_CA_BUNDLE — the OS trust store alone rejects this endpoint's certificate)
…
```

Das Suffix `trusted only via DEVIN_CA_BUNDLE` bestätigt, dass der Endpunkt erst durch das Paket vertrauenswürdig wird: doctor wiederholt die Verbindung zu jedem erreichbaren Endpunkt ausschließlich mit dem Vertrauensspeicher des Betriebssystems und meldet, ob dieser Versuch an TLS scheitert. Ist die Variable nicht gesetzt, lautet die Zeile für das CA-Paket `not configured (OS trust store only; set DEVIN_CA_BUNDLE to add a private CA)`.

Wenn die Datei nicht lesbar ist, einen ungültigen PEM-Abschnitt oder keine Zertifikate enthält, lässt doctor die Prüfung **CA bundle** mit `CFG004` und der Meldung des Parsers fehlschlagen (zum Beispiel `failed to read CA bundle '/etc/devin/ca-bundle.pem': No such file or directory`). Zur Laufzeit führt derselbe Zustand nicht zum Abbruch: Die CLI gibt eine Zeile `warning: ignoring DEVIN_CA_BUNDLE: …` aus und greift auf den Vertrauensspeicher des Betriebssystems zurück. Ein Tippfehler im Pfad äußert sich daher nicht als Fehler beim Start, sondern als `NET003`-TLS-Fehlschläge bei Ihren Endpunkten. Korrigieren Sie das Paket und führen Sie doctor erneut aus.

## Proxy

Die air-gapped CLI verarbeitet ausgehende Proxy-Verbindungen genauso wie die Standard-Devin CLI. Standardmäßig (`"mode": "system"`) berücksichtigt sie die Umgebungsvariablen `HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY` und `NO_PROXY` sowie die PAC-/Auto-Proxy-Settings des Betriebssystems. Um einen bestimmten Proxy zu erzwingen oder Proxys vollständig zu umgehen, fügen Sie der Benutzerkonfigurationsdatei (`config.json` im gemeinsamen Devin-Konfigurationsverzeichnis; siehe [Formate auf dem Datenträger](/de/federal/air-gapped/on-disk-formats)) einen `proxy`-Block hinzu:

```json theme={null}
{
  "proxy": {
    "mode": "manual",
    "url": "http://proxy.corp.example:8080",
    "no_proxy": "localhost,127.0.0.1,.corp.example"
  }
}
```

| `mode` | Verhalten |
| - | - |
| `"system"` (Standard) | Verwendet Proxy-Umgebungsvariablen und die PAC-Einstellungen der Plattform. |
| `"manual"` | Leitet den gesamten Datenverkehr über `url` (`http://`, `https://` oder `socks5://`). Über Umgebungsvariablen definierte Proxys werden ignoriert. |
| `"off"` | Verbindet direkt; alle Proxy-Settings werden ignoriert. |

`no_proxy` gilt in jedem Modus und verwendet dieselbe Syntax wie die Umgebungsvariable `NO_PROXY`. Um den Proxy für alle Nutzer auf einem Host festzulegen, fügen Sie denselben `proxy`-Block in die machine-wide Richtliniendatei `system.json` ein (`/etc/devin/system.json` unter Linux, `/Library/Application Support/Devin/system.json` unter macOS, `C:\ProgramData\Devin\system.json` unter Windows). Wenn beide Dateien `proxy` definieren, startet die CLI erst, nachdem Sie die Kopie in der Nutzerdatei entfernt haben. Die vollständige Referenz aller Optionen finden Sie in der [Referenz zur CLI-Konfigurationsdatei](/de/cli/reference/configuration/config-file#proxy).

Ein Proxy, der TLS terminiert und den Datenverkehr mit seiner eigenen CA neu signiert, gilt als private CA: Fügen Sie sein Zertifikat zu `DEVIN_CA_BUNDLE` hinzu. Verbindungen werden weiterhin ausschließlich zu den oben auf dieser Seite aufgeführten Zielen aufgebaut; der Proxy ändert nur den Weg, nicht die Ziele selbst.

## Timeouts

| Verbindung | Timeout |
| - | - |
| `devin airgap doctor`-Prüfungen (Verbindungsaufbau und insgesamt) | 10 Sekunden pro Anfrage |
| SSO-Anfragen an den IdP (automatische Erkennung, Token, JWKS) | 30 Sekunden pro Anfrage |
| Inferenzanfragen | 30 Sekunden für den Verbindungsaufbau; Abbruch des Lesevorgangs nach 300 Sekunden ohne Daten |

Eine Prüfung, die ihr Timeout überschreitet, wird als `NET005` gemeldet.

## NET-Codes

`devin airgap doctor` versieht jede fehlgeschlagene Endpunkt-Prüfung mit einem dieser Codes. Dieselben Codes begegnen Ihnen auch in Supportanfragen. Den vollständigen Katalog finden Sie auf der Seite [Fehlercodes](/de/federal/air-gapped/error-codes).

| Code | Bedeutung | Vorgehen |
| - | - | - |
| `NET001` | Die DNS-Auflösung des Endpunkt-Hosts ist fehlgeschlagen. | Prüfen Sie den Hostnamen in der Modell- bzw. Auth-Datei und ob der Resolver der Workstation ihn auflösen kann (`getent hosts <host>` oder `dig <host>`). |
| `NET002` | Die TCP-Verbindung konnte nicht hergestellt werden (abgelehnt, zurückgesetzt, nicht routbar). | Prüfen Sie, ob der Port von der Workstation aus erreichbar ist und ob eine Firewall oder ein Proxy ihn zulässt. |
| `NET003` | Der TLS-Handshake ist fehlgeschlagen (nicht vertrauenswürdiges, abgelaufenes oder nicht übereinstimmendes Zertifikat). Doctor gibt zusätzlich das vom Server vorgelegte Zertifikat aus (`subject`, `issuer`, `expires`), sofern es abgerufen werden kann, und zeigt an, ob `DEVIN_CA_BUNDLE` aktiv war. | Ist der Issuer Ihre private CA, setzen oder korrigieren Sie `DEVIN_CA_BUNDLE`. Ist das Zertifikat abgelaufen oder stimmt sein Name nicht mit der URL überein, korrigieren Sie das Serverzertifikat. |
| `NET004` | Der Endpunkt hat einen Fehlerstatus (HTTP) außer 401/403 zurückgegeben. Ein `404` bei `GET {base_url}/models` ist nur eine Warnung, da einige OpenAI-kompatible Server `/models` nicht implementieren. | Prüfen Sie, ob `base_url` das korrekte Präfix enthält (in der Regel `/v1`) und ob der Server fehlerfrei läuft. |
| `NET005` | Zeitüberschreitung der Anfrage. | Prüfen Sie die Netzwerklatenz und ob der Endpunkt überlastet ist. Die `/models`-Prüfung sollte innerhalb von 10 Sekunden eine Antwort liefern. |
| `NET006` | Der Endpunkt hat die konfigurierten Anmeldedaten abgelehnt (HTTP 401/403). | Prüfen Sie den Wert der Umgebungsvariable, die in `api_key.env` des Modells angegeben ist. |

## Zugehörige CFG-Codes

| Code | Bedeutung | Vorgehensweise |
| - | - | - |
| `CFG002` | Die in `api_key.env` eines Modells angegebene Umgebungsvariable ist in der Umgebung des Agents nicht gesetzt. Doctor überspringt die Netzwerk-Prüfungen für dieses Modell. | Exportieren Sie die Variable in der Umgebung, aus der der Agent gestartet wird; siehe [Modelldatei](/de/federal/air-gapped/models-file#api-key-environment-variables). |
| `CFG004` | Die Datei `DEVIN_CA_BUNDLE` fehlt, ist nicht lesbar oder enthält keine gültigen PEM-Zertifikate. | Korrigieren Sie den Pfad oder den Dateiinhalt; die Meldung gibt den Parsing-Fehler an. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.