fix(server): storage prefix url (#15477)

#### PR Dependency Tree


* **PR #15477** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added support for custom signed download URLs with configurable CDN
origins, object paths, expiration times, and security signatures.
* Custom download signing is available when both the URL prefix and
signing key are configured.

* **Bug Fixes**
* Preserved custom URL and signing settings when generating download
links.
  * Added validation for invalid signing configurations.
* Standard S3 storage continues using its existing presigned URL
behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
DarkSky
2026-08-13 20:30:43 +08:00
committed by GitHub
parent 18977f2048
commit 0f349af8ee
6 changed files with 150 additions and 27 deletions
@@ -127,12 +127,12 @@ const S3ConfigSchema: JSONSchema = {
urlPrefix: {
type: 'string',
description:
'Optional custom origin for browser upload URLs. Provider presigned URLs also use this origin when signKey is not configured.',
'Optional base URL for proxied uploads and signed custom GET URLs. Provider presigned uploads require an origin-only value when signKey is not configured.',
},
signKey: {
type: 'string',
description:
'Optional HMAC key for signed upload URLs. Without urlPrefix, upload URLs use the server origin.',
'Optional HMAC key for signed upload and custom GET URLs. Custom GET URLs require both signKey and urlPrefix.',
},
},
},