S3 at broadcastmgmt.cloud (RustFS/openresty) returns 403 on range requests that include an Origin header on presigned URLs. The HMAC signature only covers 'host' in X-Amz-SignedHeaders, so the browser's cross-origin Origin header breaks signature validation. Reverted: /stream and /video no longer redirect to signed S3 URLs. Fixed: /video now pipes through Node with: Cache-Control: private, max-age=3600 ETag and Last-Modified forwarded from S3 This means the browser caches video segments for 1h. On seek the browser checks its cache first — only uncached byte ranges hit the server. Combined with the 1.5Mbps proxy (was 4Mbps), seeks should be responsive for clips under ~10 minutes. |
||
|---|---|---|
| .. | ||
| ampp | ||
| db | ||
| middleware | ||
| routes | ||
| s3 | ||
| tasks | ||
| index.js | ||
| scheduler.js | ||