Se você fizer qualquer tipo de desenvolvimento web local em Linuxé quase certo que você se deparou com o aviso do navegador que diz “Sua conexão não é privada”Ao testar seu próprio aplicativo no localhost.
Não é uma ameaça real à segurança, você sabe disso, mas é irritante e, mais importante, cria um problema quando você precisa testar recursos que os navegadores restringem a origens seguras, como service workers, geolocalização, acesso à área de transferência, câmeras e permissões de microfone e HTTP/2.
A solução alternativa padrão é configurar manualmente um certificado autoassinado, o que envolve gerar uma CA, assinar um certificado, confiá-lo no armazenamento do sistema, editar /etc/hostse configurar um proxy reverso – um processo que leva 30 minutos na primeira vez e parece muito trabalhoso depois disso.
magro é uma ferramenta que lida com tudo isso em um único comando, e tudo que você precisa fazer é apontá-lo para uma porta local, dar um nome a ele e obter uma imagem limpa. https://myapp.local domínio no seu navegador com um certificado válido e sem avisos.
Neste artigo, veremos como magro funciona, como instalá-lo e como configurar um HTTPS domínio local para um projeto real em execução na sua máquina.
O que é magro?
magro é um proxy reverso leve baseado em Go e um gerenciador de domínio local que automatiza todo o HTTPS configuração de domínio local, como geração de CA, criação de certificado, registro de armazenamento confiável do sistema, /etc/hosts gerenciamento e encaminhamento de porta, tudo em um comando.
Uma vez em execução, seu projeto local estará acessível em um arquivo .local domínio sobre HTTPScom suporte total para HTTP/2, WebSockets e HMR (hot module reload), o que significa que funciona corretamente com Próximo.js, Rapidamentee servidores de desenvolvimento semelhantes prontos para uso.
O proxy é executado como um daemon em segundo plano, portanto, você o inicia uma vez e ele fica fora do seu caminho.
myapp.local → localhost:3000 api.local → localhost:8080 dashboard.local → localhost:5173
Como funciona o slim
Quando você corre slim start pela primeira vez, ele lida com quatro coisas automaticamente:
- Autoridade Certificadora – slim gera uma CA raiz local e a adiciona ao armazenamento confiável do seu sistema (loja de CA do Linux ou macOS Keychain). É isso que torna o certificado confiável sem avisos do navegador. Os certificados folha por domínio são então criados sob demanda e servidos via SNI.
- Proxy reverso – slim inicia um daemon de segundo plano usando o Go integrado
httputil.ReverseProxyque encaminha o tráfego HTTPS do seu.localdomínio para a porta local em que seu servidor de desenvolvimento está sendo executado. - DNS local – slim adiciona uma entrada para
/etc/hostspara quemyapp.localresolve127.0.0.1sem precisar de um servidor DNS local. - Encaminhamento de porta – slim usa iptables no Linux (ou
pfctlsobre macOS) para redirecionar portas privilegiadas 80 e 443 para portas sem privilégios 10080 e 10443portanto, o processo de proxy não precisa ser executado como root.
Instalando slim no Linux
magro fornece um script de instalação de uma linha que baixa o binário e o configura para o seu sistema.
curl -sL https://slim.sh/install.sh | sh
Se preferir construir a partir do código-fonte, você precisará Vá 1,25 ou posteriormente instalado em seu sistema.
git clone https://github.com/kamranahmedse/slim.git cd slim make build make install
Após a instalação, verifique se está funcionando:
slim version
Configurando um domínio local HTTPS
Para demonstrar como o slim funciona na prática, usaremos um exemplo real: um projeto rodando no porto 3.000 que queremos acessar em https://myapp.local.
Inicie seu servidor de desenvolvimento, que pode ser qualquer servidor de desenvolvimento local, como um Node.js aplicativo, um Frasco Python aplicativo, um Ir servidor, qualquer coisa escutando em uma porta local.
Neste exemplo, suponha que seu aplicativo já esteja em execução na porta 3000.
slim start myapp --port 3000
Na primeira vez que você executar isso, o slim irá gerar a CA raiz, registrá-la no armazenamento confiável do sistema, criar um certificado para myapp.localatualizar /etc/hostse inicie o daemon de proxy em segundo plano.
Exemplo de saída:
slim start myapp --port 3000 ✔ Root CA generated and trusted ✔ Certificate created for myapp.local ✔ /etc/hosts updated → myapp.local → 127.0.0.1 ✔ Port forwarding configured (443 → 10443) ✔ Proxy started https://myapp.local → localhost:3000
Agora abra seu navegador e vá para https://myapp.localvocê verá que seu projeto é carregado por HTTPS com um certificado válido e sem avisos do navegador.
Gerenciando seus domínios locais
Aqui estão os comandos finos que você usará no dia a dia:
slim list # Show all currently active local domains slim list --json # Same output in JSON format (useful for scripting) slim logs # Show access logs for all domains slim logs -f myapp # Tail live access logs for a specific domain slim stop myapp # Stop proxying a specific domain slim stop # Stop all running domains and the proxy daemon
Exemplo de saída de slim list:
slim list DOMAIN PORT STATUS UPTIME myapp.local 3000 running 14m
Opções adicionais finas
slim fornece alguns sinalizadores úteis ao iniciar um domínio.
Modos de registro – Controle a quantidade de registro de acesso que você deseja:
slim start myapp -p 3000 --log-mode full # Full request/response logs (default) slim start myapp -p 3000 --log-mode minimal # Just method, path, and status code slim start myapp -p 3000 --log-mode off # No access logging
Aguarde o upstream – Se o seu servidor de desenvolvimento demorar alguns segundos para iniciar, use --wait so slim espera até que a porta upstream esteja realmente pronta antes de retornar:
slim start myapp -p 3000 --wait --timeout 30s
Desinstalar – Se você deseja remover tudo o que o slim configurou, incluindo CA, certificados, entradas de hosts, regras de encaminhamento de porta e arquivos de configuração, execute:
slim uninstall
Todos os dados de tempo de execução do slim residem em ~/.slim/:
~/.slim/config.yaml # Configuration file ~/.slim/certs/ # Per-domain certificates ~/.slim/ca/ # Root CA certificate and key ~/.slim/access.log # Access logs for all proxied domains
Se você precisar inspecionar manualmente ou fazer backup de um certificado, é aqui que você deve procurar.
Por que isso é importante para o desenvolvimento local
Além da conveniência de não ver avisos do navegador, executar seu projeto local em HTTPS com uma experiência real .local domínio desbloqueia vários recursos do navegador que funcionam apenas em origens seguras:
- Trabalhadores de serviço – Necessário para desenvolvimento de PWA e testes offline.
- API de geolocalização – Os navegadores bloqueiam isso em origens não HTTPS.
- API da área de transferência – O acesso de leitura/gravação à área de transferência requer HTTPS.
- Câmera e microfone – getUserMedia não funcionará em HTTP simples.
- HTTP/2 – Os navegadores negociam apenas HTTP/2 sobre TLS, portanto, testar o comportamento do HTTP/2 requer HTTPS.
- Cookies seguros – Cookies com sinalizador Secure são enviados apenas por HTTPS, tornando o teste de sessão no host local não confiável sem ele.
Se alguma parte do seu projeto depender desses recursos, o teste em localhost simples proporcionará um comportamento diferente da produção. slim preenche essa lacuna sem qualquer configuração manual.
Dica profissional: se você estiver trabalhando com vários projetos simultaneamente, poderá executar vários slim start comandos apontando para portas diferentes – cada um recebe o seu próprio .local domínio, seu próprio certificado e aparece em uma pequena lista.
Projeto fino: https://github.com/kamranahmedse/slim
Deseja saber mais sobre Software Livre Clique Aqui!
https domínio local linux,desenvolvimento https local linux,certificado autoassinado localhost linux,https localhost desenvolvedor linux,domínio local https linux

Perito em Computação Forense e Crimes Cibernéticos
Investigação Digital | Laudos Técnicos | Resposta a Incidentes
Bacharel em Sistemas da Informação, Certificado Microsoft Azure IA e MOS. Trabalho como Administrador de Redes, Firewall e Servidores Windows e Linux!
Minhas atividades favoritas são: Caminhar, Fazer Trilhas, Natureza, Insetos e claro ler sobre Tecnologia.

