← Projetos

Como acessar o WebApp do Protheus sem abrir portas no servidor

Você precisa acessar o Protheus WebApp de fora da empresa — de casa, do cliente, do celular — com segurança. O caminho antigo era feio: abrir porta no firewall, expor o IP público do servidor, brigar com certificado, talvez montar uma VPN. Cada uma dessas opções aumenta a superfície de ataque do seu ERP.

Tem um jeito muito melhor, e de graça: o Cloudflare Tunnel. Em vez de abrir uma porta de entrada, o servidor abre uma conexão de saída para a Cloudflare, e todo o tráfego passa por dentro dela. O firewall continua fechado, o IP de origem nunca aparece, e o HTTPS você ganha de brinde.

Navegadorde qualquer lugarCloudflareSSL · borda globalcloudflaredno servidorApp webinternaHTTPStúnelsaídaConexão só de saída · nenhuma porta aberta no firewall · IP de origem oculto

Por que é mais seguro

A inversão é o ponto. Numa publicação tradicional, o mundo inteiro consegue bater na sua porta — e você torce para o cadeado segurar. Com o túnel, não existe porta para bater: o cloudflared (o agente que roda no servidor) inicia a conexão para fora, e a Cloudflare só entrega tráfego por aquele canal já estabelecido. Sem porta de entrada, IP oculto, SSL gerenciado e — se quiser — login obrigatório (Zero Trust) antes do tráfego sequer chegar no Protheus.

A receita

1. Instale o cloudflared no servidor — é grátis

O Cloudflare Tunnel não custa nada: basta uma conta Cloudflare e o seu domínio nela. Instale o agente cloudflared no mesmo servidor do AppServer e crie um túnel (gerenciado por token, com as rotas no painel da Cloudflare).

2. Aponte o túnel para o WebApp

No mapeamento do túnel, ligue o hostname público — por exemplo protheus.seudominio.com.br — ao serviço local do WebApp: http://localhost:PORTA, onde PORTA é a porta da seção [WEBAPP] do seu AppServer.

3. Deixe o TLS com a Cloudflare (desligado no túnel)

Esse é o pulo do gato que evita horas de dor de cabeça: o HTTPS termina na borda da Cloudflare, e o túnel conversa com o WebApp em HTTP puro. Na configuração do túnel, o serviço de origem é http://sem verificação de TLS. Nada de certificado no servidor, nada de TLS duplo, nada de "conteúdo misto". Por fora o usuário acessa em https://; por dentro, quem cuida da criptografia é a Cloudflare.

4. Informe a URL externa no AppServer

O WebApp precisa saber por qual endereço ele será acessado de fora — senão o SmartClient HTML e o websocket tentam falar com o IP/porta interna e a sessão não sobe. No appserver.ini, na seção [WebApp/webapp], a chave MPP recebe a URL pública (a mesma do hostname do túnel):

[WebApp/webapp]
MPP=https://protheus.seudominio.com.br

É o passo que amarra tudo: o app passa a se anunciar pelo endereço externo, e não pelo IP/porta interno.

5. Publique o DNS — um CNAME proxied

Para o hostname resolver, crie um registro CNAME proxied apontando para o túnel:

protheus.seudominio.com.br   CNAME   <TUNNEL_ID>.cfargotunnel.com   (proxied)

Esse <TUNNEL_ID>.cfargotunnel.com é o endereço do túnel. Com o registro proxied (nuvem laranja), a Cloudflare assume a borda, entrega o SSL e roteia para o cloudflared certo.

6. Segure o keepalive do websocket

A sessão web do Protheus mantém um websocket vivo. Se o ConnectionTimeout do AppServer for curto, a sessão cai por inatividade depois de alguns minutos parado. Aumente esse timeout para o keepalive segurar a conexão.

O resultado

Acesse de fora, confirme o HTTP 200 e a cadeia navegador → Cloudflare (SSL) → túnel → WebApp. Você ganha acesso ao Protheus de qualquer lugar, com HTTPS de verdade e sem abrir um único furo no firewall.

Cloudflare Tunnel troca o modelo "abra uma porta e reze" por "não tenha porta nenhuma". Para um ERP — que guarda o que a empresa tem de mais sensível — essa inversão é a diferença entre uma superfície de ataque exposta e uma que simplesmente não existe do lado de fora. E a mesma receita serve para qualquer aplicação web interna: um dashboard, um sistema legado, o que for.

Compartilhar