Skip to main content
Internetkonnektivität ist in jeder Sandbox verfügbar, und externer Zugriff wird über eine öffentliche URL bereitgestellt.

Internetzugriff umschalten

Beim Erstellen einer Sandbox kannst du den Parameter allowInternetAccess / allow_internet_access verwenden, um die Internetkonnektivität zu konfigurieren. Der Internetzugriff ist standardmäßig aktiviert, kann aber für Workloads mit strengeren Sicherheitsanforderungen deaktiviert werden.
Wenn der Internetzugriff deaktiviert ist, wird die Sandbox daran gehindert, ausgehende Netzwerkanfragen zu initiieren. Dies hilft, beim Ausführen von sensiblem Code eine zusätzliche Schutzschicht hinzuzufügen.
Das Übergeben eines falsy-Werts an allowInternetAccess / allow_internet_access hat denselben Effekt wie das Hinzufügen von ['0.0.0.0/0'] zu network.denyOut / network.deny_out, wodurch jedes Ziel blockiert wird.

Feingranulare Netzwerksteuerung

Die Netzwerkkonfiguration bietet feingranularere Kontrolle über ausgehenden Datenverkehr, indem du Zulassungslisten und Sperrlisten definieren kannst.

Zulassungs- und Sperrlisten

IP-Adressen, CIDR-Blöcke oder Domainnamen, auf die die Sandbox zugreifen darf, können angegeben werden.
Das CIDR '0.0.0.0/0' / "0.0.0.0/0" ist eine Kurzschreibweise für „jedes Ziel“. Eine exportierte Konstante ALL_TRAFFIC wird auf denselben Wert 0.0.0.0/0 aufgelöst, falls du eine benannte Alternative zum Literal bevorzugst.

Domainbasiertes Filtern

Du kannst Hostnamen in allowOut / allow_out angeben, um ausgehenden Datenverkehr zu ausgewählten Domains zu erlauben. Wenn domainbasiertes Filtern aktiviert ist, muss der gesamte verbleibende Datenverkehr über denyOut / deny_out blockiert werden. Domain-Einträge werden nur in Zulassungslisten unterstützt und können nicht in Sperrlisten verwendet werden.
Immer wenn eine Domain in der Konfiguration erscheint, wird der Standard-Nameserver 8.8.8.8 automatisch zugelassen, damit die DNS-Auflösung weiterhin funktioniert.
Du kannst außerdem jede Subdomain einer Domain mit einem Wildcard abgleichen:
Domains, IP-Adressen und CIDR-Bereiche können alle in derselben Liste kombiniert werden:
Das Filtern nach Domain gilt nur für HTTP über Port 80 (geprüft über den Host-Header) und TLS über Port 443 (geprüft über SNI). Jeder andere Port fällt auf CIDR-basiertes Matching zurück, und UDP-Protokolle wie QUIC/HTTP3 können nicht nach Domain gefiltert werden.

Verhalten blockierter TCP-Verbindungen

Aufgrund der Firewall-Architektur kann eine blockierte ausgehende Verbindung innerhalb der Sandbox dennoch erfolgreich erscheinen. Die Firewall muss die TCP-Verbindung zunächst akzeptieren, bevor sie auswerten kann, ob das Ziel erlaubt ist. Daher kann Code, der innerhalb der Sandbox ausgeführt wird, sehen, dass die Verbindung erfolgreich ist und der Socket geöffnet wird, selbst wenn das Ziel blockiert ist. In diesem Fall wird tatsächlich kein Datenverkehr an den entfernten Endpunkt zugestellt. Um zu bestätigen, dass das Ziel erreichbar ist, solltest du eine Antwort auf Anwendungsebene validieren, anstatt dich nur auf den Erfolg der TCP-Verbindung zu verlassen. Prüfe beispielsweise auf einen HTTP-Statuscode, einen abgeschlossenen TLS-Handshake oder die erwarteten Antwortbytes des Protokolls. Dieses Verhalten ist eine aktuelle Einschränkung der Art und Weise, wie ausgehender Sandbox-Datenverkehr durch unsere Firewall geleitet wird, und kann in Zukunft aktualisiert werden.

Prioritätsregeln

Wenn sowohl Zulassungs- als auch Sperrregeln konfiguriert sind, haben die Zulassungsregeln Vorrang. Daher wird jede IP-Adresse, die in beiden Listen erscheint, weiterhin erlaubt.
Die Einstellungen network werden nur wirksam, wenn die Sandbox erstellt wird — übergib sie an Sandbox.create. Sobald die Sandbox existiert, sind sie festgelegt und können nicht geändert werden.

Öffentliche Sandbox-URL

Auf Dienste in einer Sandbox kann über die öffentliche URL der Sandbox zugegriffen werden.
Die Ausgabe sieht wie folgt aus:
Das ganz linke Segment des Hostnamens ist genau die Portnummer, die du der Methode übergeben hast.

Verbindung zu einem Server, der innerhalb der Sandbox läuft

Du kannst dich mit einem Server verbinden, der innerhalb der Sandbox läuft, indem du die zuvor beschriebene Methode verwendest. Starte beispielsweise einen schlanken HTTP-Server auf Port 3000, um Dateien aus seinem Startverzeichnis bereitzustellen.
Diese Ausgabe sieht wie folgt aus:

Maskieren von Host-Headern in Anfragen

Du kannst die Option maskRequestHost / mask_request_host verwenden, um den Host-Header anzupassen, der an Dienste gesendet wird, die innerhalb der Sandbox laufen. Das ist nützlich, wenn deine Anwendung erwartet, dass Anfragen einem bestimmten Host-Format folgen.
Zum Anfragezeitpunkt wird ${PORT} in der Maske durch die tatsächliche Portnummer des angesprochenen Dienstes ersetzt.
Zuletzt geändert am 10. August 2026