📒  Confiança e segurança

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.

caddy reverse proxy

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.

how to create reverse proxy to hide ip

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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:

  1. Abra um terminal no seu computador Linux.
  2. 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

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

  1. Crie um novo arquivo chamado Caddyfile em um diretório de sua escolha.
  2. 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.

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