Veilig tunnelen met Caddy en Basic Authenticatie
Wanneer je een lokale service blootstelt met asd expose, krijgt het een
publieke HTTPS-URL. Standaard kan iedereen met die URL je service benaderen.
ASD's ingebouwde Caddy-integratie laat je HTTP Basic Authentication toevoegen
met een paar regels in asd.yaml β geen handmatige Caddy-configuratie,
geen bcrypt hashing, geen apart reverse proxy-setup.
Hoe ASD Caddy beheert
ASD beheert automatisch een lokale Caddy reverse proxy. Wanneer je services
definieert in asd.yaml, genereert ASD Caddy-routes, regelt
routing en past authenticatie toe. Je hoeft nooit zelf een Caddyfile aan te
raken.
Verkeer stroomt als volgt:
Internet β ASD Cloud β SSH Tunnel β Caddy (lokaal) β Jouw Service
β
BeveiligingslaagVereisten
- ASD CLI geinstalleerd (
asd initom je workspace op te zetten) - Geauthenticeerd met ASD (
asd login) - Een lokale service draaiend (we gebruiken poort 3000 in deze gids)
Stap 1: Configureer je service met basic auth
Voeg je service toe aan asd.yaml met een
basic_auth blok:
version: 1
project:
name: my-project
domain: localhost
network:
caddy:
enable: true
basic_auth:
enabled: true
realm: "Mijn Project"
services:
my-app:
dial: "127.0.0.1:3000"
host: "myapp.localhost"ASD leest credentials uit je .env bestand:
ASD_BASIC_AUTH_USERNAME=admin
ASD_BASIC_AUTH_PASSWORD=jouw-veilige-wachtwoordStap 2: Pas de netwerkconfiguratie toe
asd net apply --caddyDit genereert Caddy-routes met de authenticatie-handler, bcrypt-hasht het wachtwoord automatisch, en past alles toe op de draaiende Caddy-instantie.
Stap 3: Verifieer met de netwerk-TUI
asd netJe zou je service moeten zien met een groen vinkje.
Stap 4: Expose via tunnel
asd expose 3000 myappOutput:
Local: http://localhost:3000
Caddy: http://myapp.localhost
Tunnel: https://myapp-abc123.cicd.eu1.asd.engineerIedereen die de tunnel-URL bezoekt ziet een Basic Auth prompt voordat ze bij je service kunnen.
Per-service credentials
Elke service kan eigen credentials hebben via het macro-systeem in
tpl.env:
network:
caddy:
basic_auth:
enabled: true
services:
public-api:
dial: "127.0.0.1:3000"
basic_auth:
enabled: false # Geen auth voor deze service
admin-panel:
dial: "127.0.0.1:8080"
basic_auth:
enabled: true
realm: "Alleen Admin"Selectieve route-bescherming
network:
caddy:
basic_auth:
enabled: true
routes:
- host # Alleen host-gebaseerde routes beschermenMacro's: automatisch gegenereerde credentials
ASD gebruikt macro's in tpl.env templates om automatisch
veilige waarden te genereren tijdens asd init:
# tpl.env (template)
ASD_BASIC_AUTH_USERNAME=admin
ASD_BASIC_AUTH_PASSWORD=getRandomString(length=32,charset=safe)Om alle macro-waarden te regenereren (bijv. wachtwoorden roteren):
asd env-init --overrideSamenvatting
ASD's Caddy-integratie regelt authenticatie als onderdeel van je
serviceconfiguratie. Definieer basic_auth in
asd.yaml, pas toe met asd net apply --caddy, en
expose met asd expose. Geen handmatige Caddyfiles, geen bcrypt
hashing met de hand, geen apart reverse proxy-setup.
Kelvin Wuite
Kelvin Wuite is the founder of ASD B.V. With over eighteen years of development experience, he has witnessed the same patterns repeat across every software team - endless documentation, manual preparation, environment mismatches, and fragmented collaboration. His drive is to remove these barriers, enabling engineers to work together in unified environments with shorter feedback loops and hands-on collaboration. Since 2015 he has been refining these ideas, leading to ASD β a platform designed to create a faster, more integrated way for development teams to collaborate in an age where AI is thriving.
Related Articles
How to Create Your First HTTPS Tunnel in 30 Seconds
Install ASD CLI and expose your local development server to the internet with a public HTTPS URL. One command, 30 seconds, no configuration needed.
TunnelsHow to Expose Local Services with ASD Tunnels
Learn three ways to expose local services with ASD: quick expose for instant sharing, asd.yaml for daily development, and tunnel tokens for CI/CD automation.
SecurityHow to Use ASD Vault for Encrypted Secret Management
Learn how to use ASD Vault for encrypted secret management. Store, retrieve, and inject secrets powered by Supabase Vault and pgsodium encryption.