Troubleshooting#
403 on signed URLs#
Check that the full query string is preserved by the proxy (
$query_stringin Nginx).Ensure
WEBRICK_SIGN_KEYmatches between generator and verifier.If using temporary URLs, confirm clock skew and TTL (
signedDefaultTtl).Verification failures are raised internally as HTTP exceptions and rendered by the kernel error boundary, so custom top-level error rendering still applies.
406 Not Acceptable#
Negotiation middleware rejects unacceptable
Acceptheaders. Ensure your client requests supported types.The middleware now throws a framework HTTP exception internally; the kernel error boundary renders the final
406.Use
Response::auto()for convenience.
Weird caches#
Verify
Varyheaders includeAccept-Encoding/Accept-Languageas emitted by middleware.Avoid stripping or overwriting
Varyat the proxy/CDN.