docs(server): restaurer l'obligation de proxy TLS, que validate() n'assure pas (#65)
La réécriture précédente avait remplacé « Do not expose the backend on a public non-loopback address without TLS proxying » par une formulation adossée à `ServerConfig::validate()`. Littéralement vraie, mais pas équivalente : elle troque une OBLIGATION faite à l'opérateur contre une garantie automatique qui n'existe pas. `validate()` valide une configuration, pas la réalité. Rien ne vérifie qu'un proxy est réellement devant le serveur : passer les trois drapeaux en bindant `0.0.0.0` sans aucun proxy satisfait `validate()` et sert du HTTP en clair. La phrase normative est donc rétablie, avec cette limite dite explicitement. Voir #72 : `--trust-reverse-proxy` n'a par ailleurs aucun effet à l'exécution. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -68,6 +68,9 @@ only the public access is HTTPS.
|
||||
For any non-loopback bind, keep the full remote HTTPS configuration:
|
||||
`--allow-remote`, `--public-origin https://...`, and `--trust-reverse-proxy`.
|
||||
`ServerConfig::validate()` rejects a non-loopback bind without it.
|
||||
That check covers the configuration, not reality: it cannot verify that a proxy
|
||||
is actually terminating HTTPS in front of the server. Do not expose the backend
|
||||
on a public non-loopback address without TLS proxying.
|
||||
|
||||
The proxy must forward the same origin for the SPA, `/api/*`, and `/api/ws`.
|
||||
`--public-origin` is matched by strict equality against the request `Origin`:
|
||||
|
||||
Reference in New Issue
Block a user