Como Configurar um Site WordPress Altamente Disponível do Zero, Parte 7: Round-Robin DNS, Let’s Encrypt e Conclusão

Preparem-se, amigos! Estamos na reta final da nossa incrível jornada! Neste capítulo decisivo, vamos configurar a parte crucial da nossa infraestrutura altamente disponível.

Vamos começar pelo Let’s Encrypt, a solução perfeita para obter um certificado HTTPS gratuito. O desafio que temos pela frente é garantir que os três servidores web consigam responder com o certificado do domínio homeserver.pt. Como resolver isso? Com um toque de mágica do Gluster, claro!

Primeiro, parem o nginx em cada nó. É fundamental garantir que não haja interferências.

Bash
systemctl stop nginx

No Node1, vamos mover as diretivas do nginx e os diretórios do letsencrypt do /etc para o nosso sistema de arquivos Gluster, e depois criar os links simbólicos. Assim, garantimos que as alterações sejam automaticamente refletidas em todos os nós:

Bash
root@node1:/etc# mv nginx letsencrypt /gluster/
root@node1:/etc# ln -s /gluster/nginx /etc/nginx
root@node1:/etc# ln -s /gluster/letsencrypt /etc/letsencrypt

Nos nós 2 e 3, eliminamos os diretórios no /etc e estabelecemos os links, pois os arquivos já estão no Gluster a partir do passo anterior:

Bash
root@node2:~# rm -rf /etc/nginx /etc/letsencrypt
root@node2:~# ln -s /gluster/nginx /etc/nginx
root@node2:~# ln -s /gluster/letsencrypt /etc/letsencrypt

Agora, acedemos ao nosso provedor de DNS (estou a usar o DNS hospedado na Cloudflare) para criar o registo A para o Node1 (123.456.789.123). Por enquanto, qualquer browser (ou certbot) que aceder a www.homeserver.pt será direcionado para o Node1.

Configuração do Let’s Encrypt

Vamos agora obter o nosso certificado do Let’s Encrypt!

Bash
certbot --authenticator webroot --installer nginx --webroot-path /web/www.homeserver.pt -d www.homeserver.pt

Sucesso! O certificado foi salvo e está pronto para ser utilizado.

  • O certificado está instalado no nosso sistema de arquivos Gluster, o que significa que está disponível em todos os três nós, e os directs do Let’s Encrypt de cada nó estão apontando para esse sistema compartilhado.

Round Robin DNS

O Round Robin DNS (RRDNS) é uma funcionalidade fantástica que nos permite criar múltiplos registos para o mesmo nome. A magia acontece quando, a cada consulta ao nome (neste caso, www.homeserver.pt), o servidor DNS devolve todos os registos disponíveis. Hoje em dia, os browsers são espertos e tentam um aleatoriamente. Se não responder, eles vão para o próximo!

No nosso caso, vamos configurar o RRDNS para devolver os três registos A para os nossos nós. Assim, se um nó falhar, o acesso continua funcionando sem que o utilizador perceba!

Bash
# nslookup www.homeserver.pt

Verificamos que estamos no modo HA! Se um utilizador consulta www.homeserver.pt, e o Node1 está fora do ar, ele automaticamente tentará o Node2 ou o Node3.

Neste ponto, já podemos criar conteúdo em qualquer nó, e ele é servido de forma eficiente a partir de qualquer nó! É uma vitória épica!

Artigos Relacionados