0.29.7
This commit is contained in:
1 parent
ad95bfb050
commit
1431dd47f0
62 files changed
+1360
-198
No files matched your search
@@ -35,6 +35,44 @@ The Web Service editor is split into stable configuration tabs so later features
|
||||
|
||||
After the Web Service is saved, attach it under **Vhosts** by selecting `Web Server` and the service ID for the main source or a custom location.
|
||||
|
||||
### Intercept application HTTP errors (0.29.7)
|
||||
|
||||
Open **Vhosts → Edit vhost → Pages** (not the Web Service PHP tab), enable
|
||||
**Intercept application error responses**, and enter statuses such as `404, 500, 503`.
|
||||
This opt-in vhost policy applies to response bodies returned by both **Reverse
|
||||
Proxy origins** and **Web Server/PHP-FPM origins**. It is configured in
|
||||
`vhosts[].pages.intercept_statuses`; an omitted/empty list disables it and
|
||||
preserves the application error HTML. Supported codes: 400, 401, 403, 404,
|
||||
408, 413, 429, 500, 502, 503, 504.
|
||||
|
||||
For each opted-in origin status, RustProxy replaces the *body* using the
|
||||
vhost's configured error page, then the global error page, then its built-in
|
||||
error page. The HTTP response status always remains the application's status,
|
||||
even if the selected page has a custom `status` for standalone error handling.
|
||||
`Cache-Control: no-store` is set and origin response cookies, compression
|
||||
metadata and application error HTML are not forwarded. Relevant protocol
|
||||
headers such as `WWW-Authenticate`, `Allow` and `Retry-After` are retained.
|
||||
Local RustProxy security/routing failures are not treated as application
|
||||
responses. If `error_fallback` sends an error to a named internal location,
|
||||
that response takes precedence and is not overwritten by this option.
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "my-vhost",
|
||||
"pages": {
|
||||
"intercept_statuses": [404, 500, 503],
|
||||
"errors": {
|
||||
"404": {"kind": "html", "status": null, "html": "<h1>Not found</h1>"}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
This is a **vhost fragment**, not a standalone valid vhost object. A page's
|
||||
`status` override still applies to locally generated RustProxy error pages,
|
||||
but is ignored when replacing an application's error body. See also
|
||||
[Custom locations](CUSTOM_LOCATIONS.md).
|
||||
|
||||
### Application presets
|
||||
|
||||
The editor provides one-shot presets for **Static site, SPA, PHP generic, WordPress, Drupal, Laravel, Symfony, Joomla, PrestaShop and Downloads/file repository**. Applying a preset writes normal Web Service fields; it does not store a hidden CMS mode and every generated field remains editable. Service ID/name, document root and the deployment-specific PHP-FPM endpoint/tuning are preserved. Laravel/Symfony operators should point `document_root` at the application's `public/` directory.
|
||||
|
||||
Reference in new issue
Block a user