VpnHood!

Coloque seu servidor atrás de um proxy reverso

Uma rede que bloqueia o IP do seu servidor não consegue impedir conexões feitas a outro endereço. Atrás de um proxy reverso como o Cloudflare, os aplicativos conectam-se ao proxy, que repassa o tráfego com segurança para o seu servidor.

Como funciona

Seu domínio aponta para o proxy em vez do seu servidor. Os aplicativos resolvem o domínio e conectam-se ao proxy, que descriptografa a conexão (como faz para qualquer site) e a criptografa novamente em direção ao seu servidor. O tráfego usa WebSocket, suportado pelo Cloudflare. Outros proxies reversos também funcionam, desde que suportem WebSocket e alcancem seu servidor via TLS.

Os aplicativos chegam ao seu servidor através do proxy Os aplicativos dos seus usuários resolvem seu domínio e conectam-se ao proxy reverso, como o Cloudflare, que repassa a conexão ao seu servidor. A rota direta para o IP do seu servidor fica bloqueada, e os aplicativos contornam a restrição. Proxy reverso como o Cloudflare Seu domínio app.example.com 203.0.113.10 bloqueado Seus usuários VpnHood! CLIENT Seu servidor VpnHood! SERVER O proxy ajuda os aplicativos a superar bloqueios
Os aplicativos chegam ao seu servidor através do proxy Os aplicativos dos seus usuários resolvem seu domínio e conectam-se ao proxy reverso, como o Cloudflare, que repassa a conexão ao seu servidor. A rota direta para o IP do seu servidor fica bloqueada, e os aplicativos contornam a restrição. Proxy reverso como o Cloudflare Seu domínio app.example.com 203.0.113.10 bloqueado Seus usuários VpnHood! CLIENT Seu servidor VpnHood! SERVER O proxy ajuda os aplicativos a superar bloqueios

Os aplicativos só resolvem o domínio se a chave de acesso contiver o nome como confiável, o que requer um certificado de uma autoridade certificadora (CA).

Uma chave também pode conter o endereço direto do seu servidor. Assim, os aplicativos tentam ambas as vias: o proxy mantém a conexão se o IP estiver bloqueado, mas qualquer pessoa com a chave pode ver o endereço real. Uma chave sem o IP direto força todo o tráfego pelo proxy.

O que você deve ter em mente

  • Bloqueio: Uma rede ainda pode bloquear os endereços do proxy reverso ou o seu domínio. No entanto, como os endereços da Cloudflare atendem a muitos outros sites, bloqueá-los tem um custo alto para a rede.
  • DNS: Os aplicativos consultam seu domínio pelo DNS da rede antes de se conectar. Se a rede bloquear ou falsificar a resposta, os aplicativos recorrem aos endereços salvos na chave de acesso — portanto, uma chave que contenha apenas o domínio não conseguirá se conectar.
  • Privacidade: O proxy reverso enxerga o tráfego do túnel assim como o seu servidor: para onde os usuários se conectam e tudo o que enviarem sem criptografia. O tráfego HTTPS permanece criptografado. Use apenas um proxy reverso de sua confiança.
  • Apenas TCP: O servidor não disponibiliza suas portas UDP e QUIC para aplicativos que se conectam por meio do proxy.
  • Termos de uso: Verifique se os termos do seu provedor permitem tráfego de VPN. O uso por um grupo pequeno de usuários (cerca de 50 ou menos) normalmente é aceito.

Antes de começar

  • Um domínio ou subdomínio com um certificado emitido por uma autoridade certificadora no seu servidor: veja o passo a passo em Usar um nome de domínio e um certificado confiável. Faça isso primeiro, enquanto o registro DNS do domínio ainda aponta diretamente para o servidor.
  • Apenas um servidor vinculado ao domínio. Apontar registros para dois servidores diferentes pode dividir as conexões de uma mesma sessão, fazendo com que ela caia.
  • O servidor escutando na porta TCP 443 ou em outra porta suportada pelo proxy. A Cloudflare encaminha conexões HTTPS apenas em 443, 2053, 2083, 2087, 2096, 8443.

Ative o proxy

  1. Na Cloudflare, abra os registros de DNS do seu domínio e configure o registro que aponta para o seu servidor como Proxied (faça o mesmo no registro AAAA, se houver).
  2. Em SSL/TLS, defina o modo de criptografia como Full (strict). Assim, a Cloudflare acessa seu servidor via TLS e valida o certificado. O modo Flexible usa HTTP comum, que o servidor não aceita.

O VpnHood! MANAGER renova certificados via HTTP comum na porta TCP 80 através do domínio, e a Cloudflare encaminha essa conexão ao seu servidor. Em um servidor gerenciado, mantenha a opção Always Use HTTPS desativada: ativá-la redireciona a solicitação para HTTPS, causando falha na renovação.

Em um servidor gerenciado

Verifique o certificado do farm para o domínio: em Signature deve constar CA Signed, e em Visibility deve estar PublicInToken. Dessa forma, as chaves passam a incluir o domínio para a consulta dos aplicativos.

Para direcionar todos os aplicativos pelo proxy, remova os endereços diretos do servidor das chaves em Access Points:

  1. Desative a opção Automatic Configuration.
  2. Edite cada endereço e mude o campo Mode para Private.
  3. Mantenha o campo Listen como Yes para que o servidor continue escutando e receba as conexões do proxy.
Pontos de Acesso de um servidor no VpnHood! MANAGER configurados para proxy reverso: Configuração Automática desativada (1), e cada endereço com Modo Privado (2) e Escutar Sim (3)
Ambos os endereços do servidor estão fora das chaves, e o servidor continua escutando neles.

O MANAGER permite chaves sem endereço apenas se o certificado estiver como CA Signed. Veja como configurar cada opção em Defina os endereços IP do seu servidor.

Com PublicInToken ativado, os endereços continuam nas chaves, e os aplicativos usam tanto eles quanto o proxy. Assim, o proxy mantém seus usuários conectados se um endereço for bloqueado.

Aplicativos com chaves antigas recebem a nova na próxima conexão, pois a opção Push token to clients vem ativada por padrão.

O domínio aponta para um único servidor; portanto, em um cluster com vários servidores, todo aplicativo que passa pelo proxy acessa o mesmo servidor.

Em um servidor independente

Confirme se o servidor usa o certificado do domínio com IsValidHostName definido como true: veja o passo a passo em Use um nome de domínio e um certificado confiável. As chaves criadas a partir de então incluirão o domínio, e os aplicativos farão a resolução automaticamente.

Um servidor independente sempre inclui seus próprios endereços nas chaves junto com o domínio, fazendo com que os aplicativos usem ambos de forma intercambiável. O proxy garante que seus usuários continuem conectados caso um endereço seja bloqueado, mas qualquer pessoa com a chave poderá ver o endereço.

Próximos passos