When using prox without any origin servers, like when using prox to simply serve a directory of static files at an address, you have to create a [[site]] entry with the same host as the server.bind address:
[server]
bind = "localhost:3000"
[[site]]
host = "localhost:3000"
root = "./public"
The duplication of bind and host is annoying, but it allowed me to avoid special-casing a missing host field in the site parser for now.
One idea is to allow site options on the server table:
[server]
bind = "localhost:3000"
root = "./public"