# Aplicação na VPS não abre pela internet: o que fazer

> Quando a aplicação funciona dentro da VPS mas não abre de fora, as causas mais comuns são a porta fechada no firewall do painel ou no UFW, a aplicação ouvindo só em 127.0.0.1, o domínio sem apontar para o IP da VPS e o serviço parado. Comece testando a porta de dentro e de fora da VPS.

Quando a aplicação funciona dentro da VPS mas não abre pela internet, as causas mais comuns são: a porta está fechada no firewall do painel ou no UFW, a aplicação está ouvindo só no endereço local `127.0.0.1`, o domínio não aponta para o IP da VPS ou o serviço está parado. Comece testando a porta de dentro da VPS e de fora dela: o resultado mostra em qual camada está o bloqueio.

> **Atenção: segurança da sua VPS.** Os comandos no SSH mexem direto no servidor e são executados por sua conta e risco. Confira cada comando antes de rodar e, se puder, crie um snapshot da VPS antes de começar.

## Sintomas

- O navegador mostra `Não é possível acessar esse site`, `ERR_CONNECTION_REFUSED` ou `ERR_CONNECTION_TIMED_OUT`.
- Dentro da VPS, `curl http://127.0.0.1:<PORTA>` responde, mas de fora não abre.
- A aplicação abre pelo IP (`http://<IP_DA_VPS>:<PORTA>`), mas não pelo domínio, ou o navegador mostra `DNS_PROBE_FINISHED_NXDOMAIN`.

Os comandos deste artigo valem para o Ubuntu e o Debian, os sistemas das VPS da StayCloud, e supõem que você entrou como `root` (veja "Como acessar sua VPS por SSH pelo terminal (Linux, Windows e Mac)"). Faça os dois testes, trocando `<PORTA>` pela porta da aplicação (por exemplo, `80`, `443` ou `3000`). Dentro da VPS:

```
curl -I http://127.0.0.1:<PORTA>
```

No seu computador (Linux e Mac; no Windows, use `Test-NetConnection <IP_DA_VPS> -Port <PORTA>` no PowerShell):

```
nc -vz <IP_DA_VPS> <PORTA>
```

## Causa 1: a porta está fechada no firewall do painel ou no UFW

**Como confirmar:** o teste de dentro responde, mas o de fora dá `timed out` ou `refused`. Confira as duas camadas, que funcionam uma na frente da outra:

- No painel, na aba **Firewall** da VPS (**Minhas VPS › Gerenciar › Firewall**), veja se o firewall está ativado e se há regra **Drop** ou **Reject** que pegue a porta.
- Dentro da VPS, veja o UFW (Uncomplicated Firewall):

```
ufw status verbose
```

Se o UFW está `active` e a porta não aparece com `ALLOW IN`, ele está bloqueando.

**Como resolver:** libere a porta nas camadas que estiverem ativas. No painel, siga "Como criar uma regra de firewall na sua VPS pelo painel". No UFW:

```
ufw allow <PORTA>/tcp
```

O passo a passo está em "Como liberar portas com o firewall UFW na VPS via SSH". Se a aplicação roda no Docker, lembre que as portas publicadas pelo Docker passam por fora do UFW; nesse caso, o bloqueio costuma estar no firewall do painel.

## Causa 2: a aplicação está ouvindo só em 127.0.0.1

**Como confirmar:** veja em qual endereço a aplicação está ouvindo:

```
ss -tlnp | grep <PORTA>
```

Se aparece `127.0.0.1:<PORTA>` (ou `[::1]:<PORTA>`), ela só aceita conexões de dentro da própria VPS. Para aceitar de fora, precisa aparecer `0.0.0.0:<PORTA>`, `*:<PORTA>` ou `[::]:<PORTA>`. No Docker, a coluna `PORTS` do `docker ps` mostra o mesmo: `127.0.0.1:3000->3000/tcp` é só local.

**Como resolver:** o jeito recomendado é deixar a aplicação local e colocar um proxy, como o Nginx, nas portas `80` e `443`, encaminhando para ela. Se quiser abrir a porta da aplicação direto, mude na configuração dela o endereço de escuta para `0.0.0.0` (o nome da opção varia: `host`, `bind` ou `listen`) ou, no Docker, publique a porta sem o `127.0.0.1`, como `-p 3000:3000`. Depois, reinicie a aplicação e libere a porta no firewall.

## Causa 3: o domínio não aponta para o IP da VPS

**Como confirmar:** a aplicação abre pelo IP, mas não pelo domínio. Veja para onde o domínio aponta (o comando funciona no Linux, no Mac e no Windows):

```
nslookup seudominio.com.br
```

Compare o endereço da resposta com o IP da VPS, que aparece em "Como ver os IPs e a rede da VPS pelo painel". Se for diferente, ou se a resposta for `NXDOMAIN`, o domínio não está apontando para a VPS.

**Como resolver:** crie ou corrija o registro `A` do domínio com o IP da VPS. Se o DNS do domínio está na StayCloud, siga "Como criar ou editar um registro DNS pelo painel"; se está em outro provedor, faça lá. A mudança pode levar de alguns minutos a algumas horas para valer em toda a internet.

## Causa 4: o serviço está parado

**Como confirmar:** o teste de dentro da VPS também falha, e o `ss -tlnp | grep <PORTA>` não mostra nada. Veja o estado do serviço ou do contêiner:

```
systemctl status <SERVICO>
docker ps -a
```

**Como resolver:** inicie o serviço com `systemctl start <SERVICO>` e deixe-o ligando com a VPS com `systemctl enable <SERVICO>`, ou inicie o contêiner com `docker start <CONTEINER>`. Se ele não sobe, veja o motivo com `journalctl -u <SERVICO> -n 50` ou `docker logs --tail 50 <CONTEINER>`. Veja "Como ver e gerenciar serviços na VPS via SSH".

## Quando chamar o Suporte

Na VPS, você tem acesso root e cuida do que instala; o suporte da StayCloud cuida da infraestrutura: a VPS ligada, a rede e o painel, e não configura a sua aplicação. Veja "Perguntas frequentes sobre o que o suporte da StayCloud faz". Abra um chamado se a aplicação responde dentro da VPS, ouve em `0.0.0.0`, a porta está liberada no firewall do painel e no UFW, e mesmo assim o teste de fora falha de qualquer rede, ou se nenhuma porta da VPS responde de fora, nem a do SSH.

No chamado, informe o IP da VPS ou o nome dela no painel, a porta, o horário, a saída de `ss -tlnp` e de `ufw status verbose`, o resultado do `nc` ou do `Test-NetConnection` feito de fora e o que você já tentou. O passo a passo está em "Como abrir um chamado no Suporte".

## Relacionados

- Como criar uma regra de firewall na sua VPS pelo painel
- Como liberar portas com o firewall UFW na VPS via SSH
- Como ver os IPs e a rede da VPS pelo painel
- Como criar ou editar um registro DNS pelo painel
- Como ver e gerenciar serviços na VPS via SSH
- Erro 502 Bad Gateway na aplicação da VPS: o que fazer
- Perguntas frequentes sobre o que o suporte da StayCloud faz
- Como abrir um chamado no Suporte

---
Fonte: https://help.staycloud.com/artigos/aplicacao-na-vps-nao-abre-pela-internet-o-que-fazer
