Conecte-se por um nome de domínio
Por padrão, o servidor usa um certificado autoassinado com um nome fictício, e suas chaves de acesso apontam para o endereço IP. Ao configurar um domínio próprio com um certificado emitido por uma autoridade confiável, a conexão com ele se parece com uma visita a um site comum.
O que muda com um domínio
As chaves criadas após a alteração incluem o domínio. Os aplicativos o consultam ao se conectar e validam o certificado do servidor da mesma forma que um navegador. Assim, se você mudar o servidor para um novo IP, basta apontar o domínio para ele e as chaves continuam funcionando.
As chaves continuam incluindo os endereços IP do servidor, permitindo que aplicativos que não conseguem resolver o domínio se conectem normalmente.
Antes de começar
- Um domínio ou subdomínio que você controla, como
vpn.example.com. Use um nome específico, não um wildcard. - Um registro DNS apontando para o IP de conexão do servidor: um registro A, e um registro AAAA caso o servidor use IPv6. Aponte diretamente para o servidor, sem passar por proxies de CDN.
- Em um servidor gerenciado, mantenha a porta TCP
80aberta durante todo o uso do domínio: o certificado é validado por ela e renovado a cada poucos meses.
Em um servidor gerenciado
- No VpnHood! MANAGER, abra Server Farms e selecione o farm. Em SSL / TLS Certificates, clique em Add, insira o domínio em Domain Name e selecione Create. O MANAGER criará um certificado autoassinado e o abrirá.
- Edite Signing e selecione AutoSign. O MANAGER solicitará um certificado ao Let's Encrypt, que validará o domínio por meio do seu servidor na porta TCP
80. Ao concluir, Signature exibirá CA Signed, e o MANAGER renovará o certificado automaticamente antes do vencimento. - Em seguida, edite Visibility e selecione PublicInToken. Todas as chaves do farm passarão a incluir o domínio, e o certificado anterior do farm passará para Public.
As chaves copiadas do MANAGER a partir de agora incluirão o domínio. Aplicativos com chaves antigas receberão a nova versão ao se conectar, pois Push token to clients vem ativado por padrão. Mantenha o certificado anterior do farm até lá: as chaves antigas só funcionam enquanto ele existir.
Se a verificação falhar, Signing informará o motivo e, após algumas tentativas, retornará para Manual. Corrija o registro DNS ou abra a porta e selecione AutoSign novamente.
Para conferir, abra o farm: o domínio aparecerá listado primeiro em Access Points.
A página individual do servidor também possui uma lista de SSL / TLS Certificates. Esses certificados pertencem apenas a ele; para que suas chaves usem o domínio, adicione-o diretamente ao farm.
Em um servidor autônomo
Um servidor autônomo não obtém certificados automaticamente. Adquira um para o domínio com uma autoridade certificadora (formato PFX com chave privada) e substitua o arquivo /opt/VpnHoodServer/storage/access/certificates/default.pfx, mantendo o mesmo nome.
Depois, insira a senha do arquivo em SslCertificatesPassword e defina IsValidHostName como true, ambos dentro de FileAccessManager em /opt/VpnHoodServer/storage/appsettings.json. Se for uma nova instalação e o arquivo não existir, basta criá-lo; o servidor passará a utilizá-lo no lugar das configurações padrão.
O arquivo completo, substituindo o exemplo pela senha do seu certificado
{
"FileAccessManager": {
"SslCertificatesPassword": "your-pfx-password",
"IsValidHostName": true
},
"ServerConfig": {
"LogAnonymizer": true,
"AddListenerIpsToNetwork": "*"
},
"LogLevel": "Information"
}
O servidor obtém o domínio diretamente do certificado, portanto não é necessária nenhuma configuração adicional.
Reinicie o servidor com sudo systemctl restart VpnHoodServer, ou com sudo docker restart VpnHoodServer se estiver no Docker. Se a senha estiver incorreta, ele não iniciará e exibirá The server could not start. nos logs.
As chaves criadas antes da alteração param de funcionar, pois dependem do certificado antigo. Gere-as novamente e envie aos seus usuários — as opções e o uso permanecem os mesmos. O ID de uma chave é o nome do respectivo arquivo em /opt/VpnHoodServer/storage/access, sem a extensão .token2.
Liste as chaves e visualize uma novamente usando o ID correspondente
sudo ls /opt/VpnHoodServer/storage/access
sudo /opt/VpnHoodServer/vhserver print 2b9d4a6e-1c3f-4e8a-9b7d-5f0e8c2a1d34
No Docker, execute o mesmo comando por meio de sudo docker exec VpnHoodServer /app/vhsupervisor, assim como em vhserver gen.
As novas chaves utilizam o domínio e independem do arquivo do certificado. Assim, continuam válidas após a renovação: basta substituir o arquivo e reiniciar o servidor.