Configurando Caddy: Arquivos Estáticos e Autenticação Básica atrás de um Load Balancer

O Caddy server tem se mostrado um projeto muito promissor. Além de ser rápido, tem muitas funcionalidades “built-in” que facilitam muito a configuração. Um dos exemplos é a emissão automática de certificados SSL. Além disso, é muito fácil configurar um…


This content originally appeared on DEV Community and was authored by Edimar Cardoso

O Caddy server tem se mostrado um projeto muito promissor. Além de ser rápido, tem muitas funcionalidades "built-in" que facilitam muito a configuração. Um dos exemplos é a emissão automática de certificados SSL. Além disso, é muito fácil configurar um serviço utilizando ele.

Esta semana, precisei criar um serviço para publicar arquivos estáticos. Ao tentar fazer isto com a configuração padrão dele, notei que não seria possível usar a configuração padrão por ter um cenário um pouco diferente.

No meu cenário, o serviço iria rodar atrás de um load balancer na zCloud que já é responsável por gerar os certificados e fazer a terminação do TLS/SSL. A configuração padrão gerou problemas pois não deveria gerar certificado SSL, apenas servir os arquivos na porta HTTP padrão.

Além disso, havia outra particularidade: precisava de um endpoint de health check com acesso público, enquanto todo o restante precisava ser bloqueado utilizando autenticação padrão "Basic Auth".

A seguir, o arquivo utilizado para fazer isto de uma forma bem simples:



{
  auto_https off
}
:8080 {
    route /_health* {
        respond 200
    }
    route {
        basic_auth / {
            USER_NAME HASH_PASSWORD
        }
        root * /var/www/static
        file_server
    }
}


Explicando um pouco sobre a configuração:

Desabilitando SSL



auto_https off


Desabilita a emissão automática de certificado e desabilita o redirecionamento para HTTPS.

Porta



:8080 {
# ...


Porta que será aberta para receber conexões.

Health check



    route /_health* {
        respond 200
    }


Rota para acesso ao health check com acesso público.

Arquivos estáticos com autenticação



    route {
        basic_auth / {
            USER_NAME HASH_PASSWORD
        }
        root * /var/www/static
        file_server
    }


Esta parte da configuração irá receber todo restante das requests, interceptar as requisições e forçar um login, caso o usuário não esteja logado, e servir os arquivos do diretório /var/www/static.

O valor USER_NAME é o nome do usuário que será usado para autenticar.
O valor HASH_PASSWORD é o hash gerado pelo CLI do Caddy com base na senha definida. Para gerar este valor, basta seguir as instruções na documentação oficial basic_auth.

Conclusão

Esta configuração do Caddy Server oferece uma solução elegante para servir arquivos estáticos com autenticação, ao mesmo tempo que permite um endpoint de health check público. A flexibilidade e simplicidade do Caddy tornam-no uma excelente escolha para diversos cenários de deploy.


This content originally appeared on DEV Community and was authored by Edimar Cardoso


Print Share Comment Cite Upload Translate Updates
APA

Edimar Cardoso | Sciencx (2024-10-03T19:09:11+00:00) Configurando Caddy: Arquivos Estáticos e Autenticação Básica atrás de um Load Balancer. Retrieved from https://www.scien.cx/2024/10/03/configurando-caddy-arquivos-estaticos-e-autenticacao-basica-atras-de-um-load-balancer/

MLA
" » Configurando Caddy: Arquivos Estáticos e Autenticação Básica atrás de um Load Balancer." Edimar Cardoso | Sciencx - Thursday October 3, 2024, https://www.scien.cx/2024/10/03/configurando-caddy-arquivos-estaticos-e-autenticacao-basica-atras-de-um-load-balancer/
HARVARD
Edimar Cardoso | Sciencx Thursday October 3, 2024 » Configurando Caddy: Arquivos Estáticos e Autenticação Básica atrás de um Load Balancer., viewed ,<https://www.scien.cx/2024/10/03/configurando-caddy-arquivos-estaticos-e-autenticacao-basica-atras-de-um-load-balancer/>
VANCOUVER
Edimar Cardoso | Sciencx - » Configurando Caddy: Arquivos Estáticos e Autenticação Básica atrás de um Load Balancer. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/10/03/configurando-caddy-arquivos-estaticos-e-autenticacao-basica-atras-de-um-load-balancer/
CHICAGO
" » Configurando Caddy: Arquivos Estáticos e Autenticação Básica atrás de um Load Balancer." Edimar Cardoso | Sciencx - Accessed . https://www.scien.cx/2024/10/03/configurando-caddy-arquivos-estaticos-e-autenticacao-basica-atras-de-um-load-balancer/
IEEE
" » Configurando Caddy: Arquivos Estáticos e Autenticação Básica atrás de um Load Balancer." Edimar Cardoso | Sciencx [Online]. Available: https://www.scien.cx/2024/10/03/configurando-caddy-arquivos-estaticos-e-autenticacao-basica-atras-de-um-load-balancer/. [Accessed: ]
rf:citation
» Configurando Caddy: Arquivos Estáticos e Autenticação Básica atrás de um Load Balancer | Edimar Cardoso | Sciencx | https://www.scien.cx/2024/10/03/configurando-caddy-arquivos-estaticos-e-autenticacao-basica-atras-de-um-load-balancer/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.