Caddy Server

By | May 23, 2020

Vira e mexe a gente – sysadmins, programadores, devops, etc – precisa de um servidor web rapidinho para testar uma coisa, servir arquivos temporariamente, fazer protótipos ou provas de conceito.

Minha abordagem sempre foi para coisas mais simples – tipo servir arquivos de um diretório – subir o servidor HTTP nativo do Python:

python3 -m http.server 8000

Boom! Tá no ar um servidor de arquivos expondo o diretório local.

Mas às vezes queremos uma coisa mais complicada. Digamos que você está querendo testar uma aplicação cliente-servidor. O cliente é daqueles que exige uma conexão segura com certificado válido, mas o seu servidor de teste roda em HTTP inseguro.

O mais simples até o momento seria subir um servidor nginx, amarrar um certbot em volta dele e com uma meia dúzia ou mais de comandos. Não é exatamente complexo, mas comparado com o Caddy abaixo seu queixo vai cair.

Meu caso essa semana é que eu estava testando o HashiCorp Vault. Toda a manobra requerida para conseguir chaves e certificados pra colocar na configuração me deixou cansado só de pensar.

Foi aí que lembrei do recente anúncio do Caddy 2.0, com SSL automático e proxy reverso nativo. Eu poderia só subir o Vault no loopback e fazer proxy reverso com SSL com o Caddy. Em teoria a mesma coisa que daria com o nginx. Mas com a promessa de ser muito mais simples.

Vamos ver então como fazer isso em duas linhas.

Download

wget https://github.com/caddyserver/caddy/releases/download/v2.0.0/caddy_2.0.0_linux_amd64.tar.gz && tar zxvf caddy*

Rodando

$ sudo ./caddy reverse-proxy --from meu-hostname.dominio.com.br:443 --to localhost:8200

Pronto. Acabou o tutorial. Seja feliz com seu servidor SSL fazendo proxy reverso.

One thought on “Caddy Server

Comments are closed.