
Si realizas algún tipo de desarrollo web nativo linuxes casi seguro que encontrará una advertencia en el navegador «Tu conexión no es privada”al probar su propia aplicación en esta máquina.
Ya sabes, en realidad no es una amenaza a la seguridad, pero es molesto y, lo que es más importante, crea problemas cuando necesitas probar funciones que el navegador restringe a fuentes seguras, como trabajadores de servicios, geolocalización, acceso al portapapeles, permisos de cámara y micrófono, y HTTP/2.
La solución estándar es configurar manualmente un certificado autofirmado, lo que incluye generar una CA, firmar el certificado, confiar en el certificado en el almacén del sistema y editar. /etc/hostsy configurar el proxy inverso: este proceso tarda 30 minutos la primera vez y, a partir de entonces, parece demasiado trabajo.
delgado es una herramienta que puede manejar todas estas operaciones en un solo comando, todo lo que necesitas hacer es apuntar a un puerto local, darle un nombre y tendrás un archivo limpio. El dominio en su navegador tiene credenciales válidas y no tiene advertencias.
En este artículo le mostraremos cómo delgado Cómo funciona, cómo instalarlo y cómo configurarlo HTTPS El dominio local del proyecto real que se ejecuta en su computadora.
¿Qué es delgado?
delgado Es un proxy inverso ligero basado en Go y un administrador de dominio local que puede automatizar todo el proceso. HTTPS Configuraciones de dominio local, como generación de CA, establecimiento de certificados, registro del almacén de confianza del sistema, /etc/hosts La administración y el reenvío de puertos están todos en un solo comando.
Una vez ejecutado, su proyecto local se puede ejecutar a través de un archivo .local El dominio excede HTTPSes totalmente compatible con HTTP/2, WebSockets y HMR (recarga de módulo en caliente), lo que significa que funciona Siguiente.js, werthery servidores de desarrollo similares disponibles listos para usar.
El agente se ejecuta como un demonio en segundo plano, por lo que solo necesita iniciarlo una vez y permanecerá fuera de su camino.
myapp.local → localhost:3000 api.local → localhost:8080 dashboard.local → localhost:5173
¿Qué tan delgado funciona?
cuando corres slim start Por primera vez maneja automáticamente cuatro cosas:
- autoridad certificadora – Slim genera una CA raíz local y la agrega al almacén de confianza del sistema (almacén de CA de Linux o llavero de macOS). Esto es lo que hace que las credenciales sean confiables sin advertencias del navegador. Luego cree certificados hoja para cada dominio según sea necesario y brinde servicios a través de SNI.
- proxy inverso – Slim inicia el demonio en segundo plano usando la función incorporada de Go.
httputil.ReverseProxyque reenvía su tráfico HTTPS.localDominio al puerto local en el que se ejecuta su servidor de desarrollo. - DNS locales – slim agregó una nueva entrada
/etc/hostsde modo quemyapp.localdeterminación127.0.0.1No se requiere servidor DNS local. - reenvío de puertos – delgado en Linux usando iptables (o
pfctlexistir macos) redirigir puertos privilegiados 80 y Capítulo 443 a puerto sin privilegios 10080 y 10443por lo que no es necesario ejecutar el proceso del agente como root.
Instalar delgado en Linux
delgado Se proporciona un script de instalación de una línea para descargar el binario y configurarlo para su sistema.
curl -sL | sh
Si prefiere construir desde el código fuente, necesitará Ir 1.25 O instálelo más tarde en su sistema.
git clone cd slim make build make install
Después de la instalación, verifique que esté funcionando correctamente:
slim version
Configurar dominio local HTTPS
Para demostrar cómo funciona Slim en la práctica, usaremos un ejemplo real: un proyecto que se ejecuta en un puerto. 3000 queremos visitar .
Inicie su servidor de desarrollo, puede ser cualquier servidor de desarrollo local, p. Nodo.js aplicación, una matraz de pitón aplicación, una ir Servidor, cualquier cosa escuchando en el puerto local.
Para este ejemplo, suponga que su aplicación ya se está ejecutando en el puerto 3000.
slim start myapp --port 3000
La primera vez que ejecute este comando, Slim generará una CA raíz y la registrará en el almacén de confianza del sistema. myapp.localrenovar /etc/hostse inicia el demonio del agente en segundo plano.
salida de muestra:
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 → localhost:3000
Ahora abre tu navegador y ve a verá que su proyecto se carga a través de HTTPS con un certificado válido y sin advertencias del navegador.
Administra tu dominio local
Aquí hay instrucciones condensadas para su uso diario:
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
salida de muestra slim list:
slim list DOMAIN PORT STATUS UPTIME myapp.local 3000 running 14m
Opciones extra delgadas
slim le proporciona algunas banderas útiles al iniciar su dominio.
modo de registro – Controle la cantidad de registros de acceso que desea:
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
Esperando aguas arriba – Si su servidor de desarrollo tarda unos segundos en iniciarse, utilice --wait so slim esperará hasta que el puerto ascendente esté realmente listo antes de regresar:
slim start myapp -p 3000 --wait --timeout 30s
desinstalar – Si desea eliminar todo el contenido de la configuración delgada, incluidos CA, certificados, proyectos de alojamiento, reglas de reenvío de puertos y archivos de configuración, ejecute:
slim uninstall
Toda la información de tiempo de ejecución para slim se encuentra en ~/.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
Si necesita verificar o hacer una copia de seguridad manualmente de su certificado, consulte aquí.
Por qué esto es importante para el desarrollo local
Además de la comodidad de no ver las advertencias del navegador, también puedes ejecutar proyectos nativos usando HTTPS verdadero. .local Los dominios desbloquean algunas funciones del navegador que solo se aplican a fuentes seguras:
- personal de servicio – Requerido para el desarrollo de PWA y las primeras pruebas fuera de línea.
- API de geolocalización – Los navegadores bloquean esta operación en fuentes que no son HTTPS.
- API del portapapeles – El acceso de lectura/escritura al portapapeles requiere HTTPS.
- Cámara y micrófono – getUserMedia no funciona a través de HTTP simple.
- HTTP/2 – Los navegadores solo negocian HTTP/2 a través de TLS, por lo que probar el comportamiento de HTTP/2 requiere HTTPS.
- Cookies de seguridad – Las cookies con una bandera segura solo se envían a través de HTTPS, sin lo cual las pruebas de sesión en esta máquina dejan de ser confiables.
Si alguna parte de su proyecto depende de estas características, las pruebas en un host local normal le darán un comportamiento diferente al de producción. Slim cierra esta brecha sin necesidad de ajustes manuales.
Consejo profesional: si está trabajando en varios proyectos al mismo tiempo, puede ejecutar varios slim start Comandos dirigidos a diferentes puertos: cada puerto tiene su propio comando .local dominio, su propio certificado y se muestra en la lista delgada.









