Windows Sandbox provides a secure, disposable virtual environment in Windows 11 for testing cloud-native ingress architectures without modifying the host operating system. When evaluating ingress configurations involving Traefik with local TLS termination and distributed rate-limiting powered by YugabyteDB backends, defining the deployment with a declarative XML manifest (.wsb) automates sandbox volume mapping, certificate provisioning, and service initialization.
Architecture of the Distributed Sandbox Lab
Testing enterprise reverse proxies in an isolated sandbox requires three components:
- A host-mapped directory sharing Traefik binary releases, YAML dynamic routing configurations, and SSL certificates.
- An automated PowerShell startup script executed by the Sandbox logon process to install root certificates and run services.
- A dynamic Traefik configuration establishing TLS 1.3 termination and distributed rate-limiting rules.
Authoring the Windows Sandbox WSB Manifest
Create a sandbox definition file named TraefikYugabyteSandbox.wsb on your Windows 11 workstation:
<Configuration>
<VGpu>Disable</VGpu>
<Networking>Default</Networking>
<MappedFolders>
<MappedFolder>
<HostFolder>C:LocalDevTraefikYugabyteLab</HostFolder>
<SandboxFolder>C:TraefikLab</SandboxFolder>
<ReadOnly>false</ReadOnly>
</MappedFolder>
</MappedFolders>
<LogonCommand>
<Command>powershell.exe -ExecutionPolicy Bypass -NoProfile -File C:TraefikLabscriptsootstrap.ps1</Command>
</LogonCommand>
</Configuration>
Defining the Dynamic Traefik TLS & Middleware Configuration
Inside C:LocalDevTraefikYugabyteLabconfig raefik-dynamic.yml, specify the TLS security profile and rate-limiting rules:
# Traefik Dynamic Ingress Configuration
http:
routers:
yugabyte-api-router:
rule: "Host(`api.sandbox.local`)"
service: echo-service
entryPoints:
- websecure
middlewares:
- yugabyte-ratelimit
tls:
options: secure-tls
middlewares:
yugabyte-ratelimit:
rateLimit:
average: 200
burst: 100
period: 1s
sourceCriterion:
ipStrategy:
depth: 1
services:
echo-service:
loadBalancer:
servers:
- url: "http://127.0.0.1:8080"
tls:
options:
secure-tls:
minVersion: "VersionTLS13"
sniStrict: true
certificates:
- certFile: "C:/TraefikLab/certs/sandbox.crt"
keyFile: "C:/TraefikLab/certs/sandbox.key"
Authoring the Sandbox Bootstrap PowerShell Script
Create the automated initialization script at C:LocalDevTraefikYugabyteLabscriptsootstrap.ps1:
# bootstrap.ps1 - Automated Sandbox Initialization
$cert = "C:TraefikLabcertssandbox-ca.crt"
$traefik = "C:TraefikLabin raefik.exe"
$config = "C:TraefikLabconfig raefik.yml"
Write-Host "Installing local Sandbox Root CA..." -ForegroundColor Cyan
if (Test-Path $cert) {
Import-Certificate -FilePath $cert -CertStoreLocation "Cert:LocalMachineRoot" | Out-Null
Write-Host "Root CA successfully imported into Trusted Store." -ForegroundColor Green
}
# Update local hosts file
Add-Content -Path "C:WindowsSystem32driversetchosts" -Value "127.0.0.1 api.sandbox.local"
# Launch Traefik ingress controller
Write-Host "Starting Traefik daemon..." -ForegroundColor Cyan
Start-Process -FilePath $traefik -ArgumentList "--configFile=$config" -WindowStyle Minimized
Deploying and Validating in Windows 11
To run the validation workflow:
- Double-click
TraefikYugabyteSandbox.wsbon your Windows 11 host. - Windows Sandbox initializes an isolated environment, mounts the host directory, trusts the root certificate, and launches Traefik.
- Open Microsoft Edge inside the Sandbox and navigate to
https://api.sandbox.local. The browser displays a valid TLS 1.3 lock icon. - Execute a rapid burst of HTTP requests from PowerShell inside the sandbox:
1..300 | ForEach-Object { Invoke-WebRequest -Uri "https://api.sandbox.local/test" -SkipCertificateCheck } - Verify that requests exceeding 200 req/sec trigger HTTP 429 Too Many Requests responses, confirming rate-limiting middleware enforcement.
Closing the sandbox completely wipes all temporary states, leaving the host operating system unaffected.