Skip to content

0002: Our own proxy instead of nginx or Caddy

Status: accepted

Sites need TLS by SNI with certificates issued on demand, FastCGI to PHP, proxying to dev servers with WebSockets, request recording, and a share listener with access rules.

Write the proxy in Rust with hyper, rustls and fastcgi-client, inside devkitd. PHP requests go through a Valet-derived server.php for framework compatibility.

One process to supervise and no config files to generate or reload. Request recording and access rules are ordinary code with tests. We own HTTP edge cases ourselves.