A reverse proxy with HTTPS publishes the local server of another computer so you can use it from any browser, without tunnels.
The local server runs on the remote computer as a service, listening only on 127.0.0.1. In front of it, on the same computer, a reverse proxy (for example, Caddy) is the only way in from outside: it encrypts the connection with HTTPS and requires its own key. It recognizes ZeroChat's requests and passes them to the local server; everything else can still go to other services, such as the model server.
There are two independent barriers:
Compared with the SSH tunnel, there is no SSH client or open session to keep, and it works the same from a phone, a tablet or another computer.
Start zerochat with your user, from the project directory, without opening the browser and without stopping when the tab closes:
zerochat --no-browser --keep-server--host with a public address; the proxy is the only way in from outside.--keep-server the page sends no periodic heartbeats; it rereads the server state when you return to the tab.The proxy has to do three things:
The local server does not need the proxy key: it is best if the proxy does not forward it.
https://my-server:12345.pam_faillock), set that limit above zerochat's. Otherwise, a few failed attempts from the web could also lock the local login.| Situation | What happens |
|---|---|
| Connect says the server cannot be reached | The remote server or the proxy is not responding, or the proxy key is wrong: a proxy that gives no hints to those without the key answers as if nothing were there. Check the URL and the key. |
| The URL is not accepted | Only the origin is allowed: https://, the name and the port, without a path. |
| The page asks you to sign in | The browser had no saved session or the daily token has expired. Sign in again. |
| Tools fail with an expired authorization | The browser and remote computer clocks differ by more than 30 s. Turn on automatic date and time on both. |