Windows Sandbox provides an isolated, disposable testing environment in Windows 11 that allows systems engineers to experiment with complex networking topologies without polluting host operating system configurations. When architecting resilient edge proxy layers using Traefik with TLS termination and distributed rate-limiting powered by CockroachDB backends, defining the entire sandbox deployment via a declarative XML manifest (.wsb) ensures consistent, automated provisioning.
Overview of the Sandbox Test Bed
Validating distributed rate-limiting middlewares locally involves three foundational components:
- A host-mapped directory sharing the Traefik runtime, configuration manifests, TLS certificates, and mock services.
- An automated bootstrap PowerShell script initiated by the Sandbox logon process to register root certificates and launch services.
- A dynamic Traefik configuration file enforcing TLS 1.3 encryption and request rate-limiting backed by local or clustered SQL storage.
Constructing the Windows Sandbox Manifest
Create a sandbox definition file named TraefikCockroachSandbox.wsb on your Windows 11 workstation:
<Configuration>
<VGpu>Disable</VGpu>
<Networking>Default</Networking>
<MappedFolders>
<MappedFolder>
<HostFolder>C:LocalDevTraefikCockroachLab</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 and Middleware Config
Inside C:LocalDevTraefikCockroachLabconfig raefik-dynamic.yml, specify the TLS security parameters and rate-limiting rules:
# Traefik Dynamic Ingress Configuration
http:
routers:
cockroach-api-router:
rule: "Host(`api.sandbox.local`)"
service: echo-service
entryPoints:
- websecure
middlewares:
- cockroach-ratelimit
tls:
options: strict-tls
middlewares:
cockroach-ratelimit:
rateLimit:
average: 180
burst: 90
period: 1s
sourceCriterion:
ipStrategy:
depth: 1
services:
echo-service:
loadBalancer:
servers:
- url: "http://127.0.0.1:8080"
tls:
options:
strict-tls:
minVersion: "VersionTLS13"
sniStrict: true
certificates:
- certFile: "C:/TraefikLab/certs/sandbox.crt"
keyFile: "C:/TraefikLab/certs/sandbox.key"
Authoring the Automated Bootstrap Script
Create the PowerShell startup script at C:LocalDevTraefikCockroachLabscriptsootstrap.ps1:
# bootstrap.ps1 - Automated Sandbox Setup
$cert = "C:TraefikLabcertssandbox-root-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
}
# Configure local DNS hosts resolution
Add-Content -Path "C:WindowsSystem32driversetchosts" -Value "127.0.0.1 api.sandbox.local"
# Start Traefik ingress controller
Write-Host "Launching Traefik daemon..." -ForegroundColor Cyan
Start-Process -FilePath $traefik -ArgumentList "--configFile=$config" -WindowStyle Minimized
Testing and Validating in Windows 11
To run the validation workflow:
- Double-click
TraefikCockroachSandbox.wsbto spin up the clean Windows Sandbox. - The sandbox boots up, mounts your local configuration folder, trusts the certificate, and starts Traefik.
- Launch Microsoft Edge inside the Sandbox and navigate to
https://api.sandbox.local. The padlock confirms valid TLS 1.3 trust. - Perform a load test from PowerShell inside the sandbox:
1..250 | ForEach-Object { Invoke-WebRequest -Uri "https://api.sandbox.local/test" -SkipCertificateCheck } - Confirm that requests exceeding the 180 req/sec threshold receive immediate HTTP 429 status codes, verifying rate-limiting middleware enforcement.
Upon closing Windows Sandbox, all runtime state and configurations are instantly discarded, preserving a clean developer environment.