Skip to main content
QingStor (QingCloud Object Storage) exposes an S3-compatible API with AWS Signature V4 against https://s3.<zone>.qingstor.com. MIRAGE derives this endpoint from your zone automatically (the zone is passed as region). Credentials (QingCloud API access key pair) are created the same way in both runtimes, see QingStor Credentials.

Node (server-side)

Browser (presigned URLs)

The browser QingStorResource is secret-free, your backend signs each operation using your QingStor keys and returns a URL. QingStor accepts AWS Signature V4, so @aws-sdk/s3-request-presigner works, pointed at the QingStor endpoint.

1. Server: sign URLs with the QingStor endpoint

2. Browser: wire it up

region on the browser config is only used for display/logging; the actual endpoint is baked into the presigned URLs your backend returns.

3. CORS

Configure CORS rules in the QingCloud console: QingStor -> your bucket -> Basic Settings -> CORS. Allow your dev/production origins with methods GET, PUT, HEAD, DELETE, POST, allowed headers *, and expose headers ETag, Content-Length, Content-Type, Last-Modified. See the QingStor resource docs for the equivalent Python wiring.