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.
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.