Skip to main content
La conectividad a internet está disponible en cada sandbox, y el acceso externo se proporciona mediante una URL pública.

Activar o desactivar el acceso a internet

Al crear una sandbox, puedes usar el parámetro allowInternetAccess / allow_internet_access para configurar la conectividad a internet. El acceso a internet está activado de forma predeterminada, pero puede desactivarse para cargas de trabajo con requisitos de seguridad más estrictos.
Si el acceso a internet está desactivado, se impide que la sandbox inicie solicitudes de red salientes. Esto ayuda a añadir una capa adicional de protección al ejecutar código sensible.
Pasar un valor falsy a allowInternetAccess / allow_internet_access tiene el mismo efecto que añadir ['0.0.0.0/0'] a network.denyOut / network.deny_out, lo que bloquea todos los destinos.

Control de red detallado

La configuración de red proporciona un control más detallado sobre el tráfico saliente al permitirte definir listas de permitidos y listas de bloqueados.

Listas de permitidos y bloqueados

Se pueden especificar direcciones IP, bloques CIDR o nombres de dominio a los que la sandbox tiene permitido acceder.
El CIDR '0.0.0.0/0' / "0.0.0.0/0" es una abreviatura de “todos los destinos”. Una constante exportada ALL_TRAFFIC se resuelve al mismo valor 0.0.0.0/0 si prefieres una alternativa con nombre en lugar del literal.

Filtrado basado en dominio

Puedes especificar nombres de host en allowOut / allow_out para permitir tráfico saliente a dominios seleccionados. Cuando el filtrado basado en dominio está activado, todo el tráfico restante debe bloquearse mediante denyOut / deny_out. Las entradas de dominio solo se admiten en listas de permitidos y no pueden usarse en listas de bloqueados.
Siempre que aparezca un dominio en la configuración, el servidor de nombres predeterminado 8.8.8.8 se permite automáticamente para que la resolución DNS siga funcionando.
También puedes coincidir con todos los subdominios de un dominio usando un comodín:
Los dominios, las direcciones IP y los rangos CIDR pueden combinarse en la misma lista:
El filtrado por dominio se aplica solo a HTTP sobre el puerto 80 (inspeccionado mediante el encabezado Host) y TLS sobre el puerto 443 (inspeccionado mediante SNI). Cualquier otro puerto recurre a la coincidencia basada en CIDR, y los protocolos UDP como QUIC/HTTP3 no pueden filtrarse por dominio.

Cómo se comportan las conexiones TCP bloqueadas

Debido a la arquitectura del firewall, una conexión saliente bloqueada puede seguir pareciendo exitosa desde dentro de la sandbox. El firewall primero debe aceptar la conexión TCP antes de poder evaluar si el destino de destino está permitido. Como resultado, el código que se ejecuta dentro de la sandbox puede ver que la conexión se realiza correctamente y que el socket se abre, incluso si el destino está bloqueado. En ese caso, no se entrega realmente ningún tráfico al endpoint remoto. Para confirmar que el destino es alcanzable, valida una respuesta a nivel de aplicación en lugar de depender únicamente del éxito de la conexión TCP. Por ejemplo, comprueba un código de estado HTTP, un handshake TLS completado o los bytes de respuesta esperados del protocolo. Este comportamiento es una limitación actual de cómo se enruta el tráfico saliente de la sandbox a través de nuestro firewall y puede actualizarse en el futuro.

Reglas de prioridad

Si se configuran reglas de permitir y bloquear, las reglas de permitir tienen prioridad. Por lo tanto, cualquier dirección IP que aparezca en ambas listas seguirá estando permitida.
La configuración de network solo surte efecto cuando se crea la sandbox: proporciónala a Sandbox.create. Una vez que la sandbox existe, queda fija y no puede modificarse.

URL pública de la sandbox

Se puede acceder a los servicios de una sandbox usando la URL pública de la sandbox.
La salida será similar a esta:
El segmento más a la izquierda del nombre de host es exactamente el número de puerto que pasaste al método.

Conectarse a un servidor que se ejecuta dentro de la sandbox

Puedes conectarte a un servidor que se ejecuta dentro de la sandbox usando el método descrito anteriormente; por ejemplo, inicia un servidor HTTP ligero en el puerto 3000 para servir archivos desde su directorio de inicio.
Esta salida será la siguiente:

Enmascarar encabezados Host de solicitudes

Puedes usar la opción maskRequestHost / mask_request_host para personalizar el encabezado Host enviado a los servicios que se ejecutan dentro de la sandbox. Esto es útil cuando tu aplicación espera que las solicitudes sigan un formato de host específico.
En el momento de la solicitud, ${PORT} en la máscara se sustituye por el número de puerto real del servicio al que se está dirigiendo.
Última modificación el 10 de agosto de 2026