Windows Sandbox provides an ephemeral, fully isolated testing environment in Windows 11, allowing cloud engineers to test distributed edge proxy configurations without affecting the host environment. When architecting high-performance reverse proxies using Traefik with TLS termination and distributed rate-limiting powered by Vespa big-data serving engines, provisioning the testing lab via a declarative XML manifest (.wsb) automates sandbox initialization, certificate distribution, and service startup.
Overview of the Sandbox Test Bed
Testing distributed rate-limiting proxies locally in Windows Sandbox involves three foundational elements:
- A host-mapped directory sharing Traefik binary executables, TLS certificates, and YAML configuration files.
- An automated PowerShell startup script executed by the Sandbox logon process to install root certificates and run services.
- A dynamic Traefik configuration file establishing TLS 1.3 encryption and high-throughput rate-limiting rules.
Constructing the Windows Sandbox WSB Manifest
Create a sandbox definition file named TraefikVespaSandbox.wsb on your Windows 11 workstation:
<Configuration>
<VGpu>Disable</VGpu>
<Networking>Default</Networking>
<MappedFolders>
<MappedFolder>
<HostFolder>C:LocalDevTraefikVespaLab</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 Configuration
Inside C:LocalDevTraefikVespaLabconfig raefik-dynamic.yml, specify the TLS encryption options and rate-limiting middleware rules:
# Traefik Dynamic Ingress Configuration
http:
routers:
vespa-api-router:
rule: "Host(`api.sandbox.local`)"
service: echo-service
entryPoints:
- websecure
middlewares:
- vespa-ratelimit
tls:
options: secure-tls
middlewares:
vespa-ratelimit:
rateLimit:
average: 520
burst: 260
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 startup script at C:LocalDevTraefikVespaLabscriptsootstrap.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
}
# Add local hosts mapping
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
Validating Sandbox Execution in Windows 11
To execute the automated deployment:
- Double-click
TraefikVespaSandbox.wsbon your Windows 11 host. - 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..600 | ForEach-Object { Invoke-WebRequest -Uri "https://api.sandbox.local/test" -SkipCertificateCheck } - Verify that requests exceeding the 520 req/sec threshold receive immediate HTTP 429 status codes, confirming rate-limiting middleware enforcement.
Closing the sandbox completely wipes all temporary states, leaving the host operating system unaffected.