Blog
Notes on building software and SaaS products.
Real client IPs through the stream hop, with PROXY protocol
The stream hop forwards raw TCP, so nothing downstream ever saw the visitor. PROXY protocol fixes that — here's the setup and the traps that come with it. · 6 min read
I moved Nginx's internal hops to Unix sockets
My stream block was opening TCP connections to Nginx itself and to Caddy, even though neither hop ever leaves the machine. Here's the move to Unix sockets, the network overhead it drops, and what I left alone. · 7 min read
Multi-Tenant Custom Domains, without paying for Cloudflare for SaaS
How Countdown Builder serves customer domains with their own TLS certs — Nginx stream SNI routing and Caddy on-demand TLS on a single server. · 5 min read