Como o Replit executa seus projetos em um ambiente de nuvem, as portas funcionam de forma diferente no Replit do que no seu computador local. (Se precisar de uma explicação mais básica sobre o que são portas TCP, comece aqui.) Em um computador, você tem apenas uma camada de gerenciamento de portas: seus programas definem uma porta à qual eles escutam e, quando o tráfego atinge essa porta no seu computador a partir da internet, ele é roteado para o processo apropriado.Documentation Index
Fetch the complete documentation index at: https://docs.replit.com/llms.txt
Use this file to discover all available pages before exploring further.

0.0.0.0 é o endereço, ou host. Se um processo está escutando em 0.0.0.0, isso significa que ele deve escutar em todas as interfaces de rede — o que significa que, se outro computador (na internet) enviar uma requisição para o endereço IP do seu computador, ele a verá. Portanto, escutar em 0.0.0.0 significa que esses processos são acessíveis à internet pública (se o seu computador estiver conectado).
A maioria dos frameworks de programação não escuta em 0.0.0.0 durante o desenvolvimento, porque você não quer necessariamente expor seu trabalho ao público enquanto está trabalhando nele, por questões de privacidade e segurança. Em vez disso, eles escutarão em um endereço diferente — 127.0.0.1, também conhecido como localhost. Isso significa que apenas esse computador pode fazer requisições para essa porta.


:80 está vinculada à porta interna :3000. Isso significa que qualquer tráfego que o Replit App receber na porta 80 irá para a porta interna 3000.
Essa configuração é capturada na seção [[ports]] do arquivo de configuração .replit.
Por padrão, o Replit vincula a primeira porta que você abre à porta externa padrão 80, o que permite que esse processo esteja disponível no domínio sem um endereço de porta (por exemplo, customdomain.com/ em vez de customdomain.com:3000/). Portas internas adicionais que são abertas são vinculadas a outras portas externas disponíveis (veja a lista completa abaixo).
Preview
Na ferramenta Preview, você pode alterar qual porta externa o webview está renderizando clicando no domínio e selecionando uma porta diferente. Você também pode abrir a ferramenta de rede pelo ícone de “engrenagem” para mais detalhes.
Porta padrão
A porta :80 é a “porta padrão” para tráfego http, portanto o tráfego http enviado para o domínio raiz será automaticamente roteado para a porta 80. O caminho da porta não é mostrado na URL para a porta 80 por esse motivo. Portas diferentes de:80 aparecerão no caminho do domínio (por exemplo, customdomain.com:4200/). (O Replit fornece TLS por padrão, então tecnicamente será pela porta 443, que é a porta padrão para https. Para todos os fins práticos, você pode tratá-las como intercambiáveis.)
Ferramenta de rede
Para mais detalhes sobre configuração de portas e rede, você pode abrir a ferramenta de rede. Ela mostra o status das portas abertas no seu Replit App, a qual porta externa elas estão vinculadas, e permite adicionar ou remover configurações.
Publicação
Os deployments Autoscale e Reserved VM suportam apenas uma única porta externa sendo exposta, e a porta interna correspondente não deve usarlocalhost. Se você expuser mais portas, ou expuser uma única porta em localhost, seu aplicativo publicado falhará. Uma maneira fácil de garantir que seus deployments Autoscale funcionem conforme esperado é remover todas as entradas externalPort para as portas em sua configuração exceto a porta do serviço com o qual você deseja interagir a partir da internet.
Depuração
Um motivo comum para algo não funcionar como esperado é que, embora a configuração da sua porta pareça correta, seu programa está realmente apontando para uma porta diferente. Por exemplo, se sua configuração for:
Preferências
O Replit vincula automaticamente as portas abertas no seu Replit App a portas externas disponíveis quando são abertas, e registra essa vinculação no arquivo de configuração .replit. No entanto, isso não acontece por padrão para portas internas que abrem em localhost, porque serviços que geralmente são executados em localhost normalmente assumem que só serão acessíveis no mesmo computador que o processo em execução (as portas localhost só são visíveis para o mesmo computador que executa o processo). Isso significa que esses serviços geralmente não são tão seguros quanto os serviços criados sob a premissa de que estarão disponíveis para a internet pública. Você sempre pode substituir isso definindo a opção de configuraçãoexposeLocalhost como true para a porta que deseja expor.
Se você quiser sempre expor portas localhost por padrão, pode definir sua configuração de “encaminhamento automático de portas” na ferramenta User Settings como “All ports”.
Se você quiser nunca criar configurações para portas abertas, e controlar manualmente a configuração de portas para todos os seus Replit Apps, pode definir isso como “never”.
Portas suportadas
O Replit App definirá a porta 80 como a porta externa por padrão quando a primeira porta for aberta. Um Replit App pode expor as portas 3000, 3001, 3002, 3003, 4200, 5000, 5173, 6000, 6800, 8000, 8008, 8080, 8081 como portas externas adicionais. As portas 22 e 8283 não são encaminháveis, pois são usadas internamente.Configuração [[ports]] no .replit
Tipo: {localPort, externalPort, exposeLocalhost}
A configuração [[ports]] permite configurar qual porta HTTP expor para a saída da web do seu aplicativo. Por padrão, qualquer porta HTTP exposta com host 0.0.0.0 será exposta como a saída web do seu Replit App.
Portas extras podem ser servidas sem substituir a porta padrão adicionando uma nova entrada [[ports]] ao seu arquivo .replit. É necessário especificar tanto uma entrada localPort quanto externalPort. Você pode adicionar múltiplas portas extras adicionando múltiplas entradas [[ports]] ao seu arquivo .replit, conforme definido abaixo.
localPort
Determina qual porta o Replit vinculará a uma porta externa.externalPort
Determina qual porta deve ser exposta como a porta publicamente acessível para aquela porta local.localPort mas simplesmente não adicionar um externalPort:
exposeLocalhost
Determina se uma porta interna usandolocalhost pode ser vinculada a uma porta externa. Pode ser true, false ou null.