Skip to main content
A conectividade com a internet está disponível em todos os sandboxes, e o acesso externo é fornecido por meio de uma URL pública.

Alternando o acesso à internet

Ao criar um sandbox, você pode usar o parâmetro allowInternetAccess / allow_internet_access para configurar a conectividade com a internet. O acesso à internet é ativado por padrão, mas pode ser desativado para cargas de trabalho com requisitos de segurança mais rigorosos.
Se o acesso à internet estiver desativado, o sandbox será impedido de iniciar solicitações de rede de saída. Isso ajuda a adicionar uma camada extra de proteção ao executar código sensível.
Passar um valor falsy para allowInternetAccess / allow_internet_access tem o mesmo efeito que adicionar ['0.0.0.0/0'] a network.denyOut / network.deny_out, o que bloqueia todos os destinos.

Controle de rede refinado

A configuração de rede fornece controle mais refinado sobre o tráfego de saída, permitindo que você defina listas de permissão e listas de bloqueio.

Listas de permissão e bloqueio

Endereços IP, blocos CIDR ou nomes de domínio que o sandbox tem permissão para acessar podem ser especificados.
O CIDR '0.0.0.0/0' / "0.0.0.0/0" é uma forma abreviada para “todos os destinos”. Uma constante ALL_TRAFFIC exportada resolve para o mesmo valor 0.0.0.0/0 se você preferir uma alternativa nomeada ao literal.

Filtragem baseada em domínio

Você pode especificar hostnames em allowOut / allow_out para permitir tráfego de saída para domínios selecionados. Quando a filtragem baseada em domínio está ativada, todo o tráfego restante deve ser bloqueado por meio de denyOut / deny_out. Entradas de domínio só são compatíveis com listas de permissão e não podem ser usadas em listas de bloqueio.
Sempre que um domínio aparece na configuração, o servidor de nomes padrão 8.8.8.8 é permitido automaticamente para que a resolução DNS continue funcionando.
Você também pode corresponder a todos os subdomínios de um domínio com um curinga:
Domínios, endereços IP e intervalos CIDR podem ser todos combinados na mesma lista:
A filtragem por domínio se aplica apenas a HTTP pela porta 80 (inspecionado por meio do cabeçalho Host) e TLS pela porta 443 (inspecionado por meio de SNI). Qualquer outra porta volta para a correspondência baseada em CIDR, e protocolos UDP, como QUIC/HTTP3, não podem ser filtrados por domínio.

Como conexões TCP bloqueadas se comportam

Devido à arquitetura do firewall, uma conexão de saída bloqueada ainda pode parecer bem-sucedida a partir de dentro do sandbox. O firewall precisa primeiro aceitar a conexão TCP antes de poder avaliar se o destino de destino é permitido. Como resultado, o código em execução dentro do sandbox pode ver a conexão ser bem-sucedida e o socket abrir, mesmo que o destino esteja bloqueado. Nesse caso, nenhum tráfego é realmente entregue ao endpoint remoto. Para confirmar que o destino está acessível, valide uma resposta em nível de aplicação em vez de confiar apenas no sucesso da conexão TCP. Por exemplo, verifique um código de status HTTP, um handshake TLS concluído ou os bytes de resposta esperados do protocolo. Esse comportamento é uma limitação atual de como o tráfego de saída do sandbox é roteado pelo nosso firewall e pode ser atualizado no futuro.

Regras de prioridade

Se regras de permissão e bloqueio estiverem configuradas, as regras de permissão têm prioridade. Portanto, qualquer endereço IP que apareça em ambas as listas ainda será permitido.
As configurações de network entram em vigor somente quando o sandbox é criado — forneça-as a Sandbox.create. Depois que o sandbox existe, elas ficam fixas e não podem ser modificadas.

URL pública do sandbox

Serviços em um sandbox podem ser acessados usando a URL pública do sandbox.
A saída será assim:
O segmento mais à esquerda do hostname é exatamente o número da porta que você passou para o método.

Conectando-se a um servidor em execução dentro do sandbox

Você pode se conectar a um servidor em execução dentro do sandbox usando o método descrito anteriormente; por exemplo, inicie um servidor HTTP leve na porta 3000 para servir arquivos a partir do diretório de inicialização dele.
Esta saída será a seguinte:

Mascarando cabeçalhos Host de solicitações

Você pode usar a opção maskRequestHost / mask_request_host para personalizar o cabeçalho Host enviado aos serviços em execução dentro do sandbox. Isso é útil quando sua aplicação espera que as solicitações sigam um formato de host específico.
No momento da solicitação, ${PORT} na máscara é substituído pelo número real da porta do serviço que está sendo endereçado.
Última modificação em 10 de agosto de 2026