Criar e construir um proxy reverso simples usando o Caddy
Como usar o Caddy para um servidor proxy reverso, veremos como criar um servidor proxy reverso para ocultar o endereço IP do backend e proteger o servidor subjacente usando o Caddy Reverse Proxy. O proxy reverso pode ser feito usando Nginx, Caddy e outros. Neste guia, usaremos o Caddy como um proxy reverso.
Primeiro: O que é um proxy reverso?
Um servidor proxy reverso funciona como um intermediário entre os dispositivos do cliente e os servidores Web, gerindo pedidos e respostas para melhorar a segurança, o desempenho e a flexibilidade. No domínio dos servidores Linux, o Caddy surgiu como uma escolha atractiva para a implementação de soluções de proxy invertido, oferecendo uma série de caraterísticas que contribuem para uma experiência web sem falhas, porque não usar o Alexhost Hosting como servidor proxy invertido para aprender, explorar e testar coisas novas?
Caddy para Linux – uma breve visão geral:
O Caddy é um servidor Web de código aberto extensível escrito em Go, concebido a pensar na simplicidade e na automatização. Embora possa atuar como um servidor Web de uso geral, uma das suas caraterísticas distintivas é a sua capacidade de atuar como um proxy inverso. No contexto dos servidores Linux, o Caddy oferece várias vantagens significativas quando usado como um servidor proxy reverso.
Como funciona um proxy reverso?
Um proxy reverso atua como um intermediário entre clientes e servidores. Em vez de encaminhar as solicitações dos clientes para um único servidor, ele as distribui entre vários servidores, proporcionando uma distribuição de carga eficiente e maior segurança.
Vantagens e caraterísticas do Caddy Reverse Proxy:
Um proxy reverso é um servidor que fica entre os dispositivos do cliente e os servidores internos, retransmitindo as solicitações do cliente para o servidor apropriado e retornando as respostas do servidor para os clientes. O Caddy distingue-se como um servidor proxy invertido pelas seguintes caraterísticas:
- Configuração automática de SSL/TLS:
- O Caddy integra-se perfeitamente com o Let’s Encrypt, uma autoridade de certificação gratuita e automática. Esta integração permite que o Caddy receba e renove automaticamente os certificados SSL/TLS, garantindo uma comunicação encriptada entre clientes e servidores.
- Configuração fácil graças ao Caddyfile:
- A configuração do Caddy é definida em um Caddyfile, um arquivo de configuração fácil de ler e entender. Esta simplicidade reduz a curva de aprendizagem e facilita a configuração e modificação rápida da configuração do proxy.
- Gerenciamento dinâmico de sites:
- O Caddy suporta TLS sob demanda, o que significa que ele só pode fornecer certificados SSL quando o cliente solicita uma conexão segura. Essa abordagem dinâmica simplifica o processo de gerenciamento de certificados SSL.
- Suporte para protocolos HTTP/2 e QUIC:
- O Caddy suporta protocolos modernos, como HTTP/2 e QUIC. Isso ajuda a melhorar o desempenho do site, pois permite a multiplexação simultânea de solicitações em uma única conexão.
- Métricas e monitorização em tempo real:
- O Caddy pode ser configurado para exportar métricas em tempo real compatíveis com sistemas de monitorização como o Prometheus. Este recurso permite que os administradores obtenham informações sobre o desempenho do servidor e resolvam proativamente possíveis problemas.
- Middleware e extensibilidade:
- O Caddy suporta middleware que permite aos utilizadores utilizar diferentes plug-ins e configurações para personalizar o seu comportamento. Essa extensibilidade torna-o adaptável a uma ampla gama de casos de uso além da funcionalidade básica de proxy reverso.
Vantagens adicionais do Caddy:
- HTTPS automático:
- O Caddy esforça-se por tornar a comunicação segura a norma, redireccionando automaticamente o tráfego HTTP para HTTPS sempre que possível. Isto proporciona aos utilizadores uma experiência de navegação segura.
- Facilidade de utilização:
- A simplicidade de configuração do Caddy, combinada com as suas funcionalidades automatizadas, torna-o fácil de utilizar e acessível a utilizadores com diferentes níveis de experiência.
- Rapidez e eficiência:
- O Caddy é conhecido pela sua velocidade e eficiência, tirando partido da linguagem de programação Go. Isto pode levar a melhores tempos de resposta e utilização de recursos.
- Suporte a WebSocket:
- O Caddy tem suporte integrado para WebSocket, tornando-o adequado para aplicativos que exigem comunicação em tempo real entre clientes e servidores.
Em resumo, o Caddy para Linux é uma excelente solução de proxy reverso que oferece configuração automática de SSL/TLS, facilidade de uso e benefícios de desempenho. A sua natureza dinâmica e extensível, juntamente com caraterísticas como a monitorização em tempo real e o suporte para protocolos avançados, posiciona-o como uma escolha versátil para indivíduos e organizações que procuram um servidor Web fiável e eficiente e uma solução de proxy invertido.
Em segundo lugar, é necessário instalar o Caddy no seu computador Linux. Isso pode ser feito seguindo os passos abaixo:
- Abra um terminal no seu computador Linux.
- Descarregue o binário do Caddy executando o seguinte comando:
curl -OL "https://caddyserver.com/api/download?os=linux&arch=amd64&idempotency=515192529"
Descarregue o ficheiro descarregado executando o seguinte comando:
python
tar -xf caddy*.tar.gz
Mova o binário extraído para o diretório /usr/local/bin executando o seguinte comando:
bash
sudo mv caddy /usr/local/bin
Conceda permissões de execução ao binário, executando o seguinte comando:
bash
sudo chmod x /usr/local/bin/caddy
Agora que o Caddy está instalado, vamos configurá-lo para funcionar como um proxy reverso. Aqui está um exemplo simples de configuração:
- Crie um novo arquivo chamado Caddyfile em um diretório de sua escolha.
- Abra o Caddyfile e adicione a seguinte configuração:
yourdomain.com {
reverse_proxy localhost:8000
}
Substitua o seu-domínio.com pelo domínio ou endereço IP que pretende utilizar e localhost:8000 pelo endereço do servidor para o qual pretende fazer proxy.
- Salve o Caddyfile.
Para iniciar o proxy reverso, execute o seguinte comando no terminal:
caddy run --config /path/to/Caddyfile
Substitua /path/to/Caddyfile pelo caminho real para o Caddyfile.
E pronto! Seu proxy reverso deve estar funcionando agora. Todos os pedidos para o seu domínio .com serão redireccionados para o servidor especificado na configuração.
Lembre-se de que usar um servidor proxy reverso para fins maliciosos é ilegal e antiético. Utilize os seus conhecimentos recém-adquiridos de forma responsável e apenas para fins legítimos. Familiarize-se com a nossa Política de Utilização Aceitável e Termos de Utilização. Para evitar quaisquer problemas com o serviço, siga as nossas regras.
Deve também verificar se o seu fornecedor de alojamento permite a utilização de um proxy invertido e para que fins o vai utilizar. Pode então perguntar ao seu alojamento Web se existem restrições à utilização de um proxy invertido. Sabemos que a utilização de um proxy invertido pode ser útil, mas não em todas as situações e não para todos os fornecedores de alojamento.
Alexhost.com tem servidores dedicados e VPS onde pode tentar configurar o seu próprio servidor proxy reverso para educação, formação e outras coisas!