On a self-hosted Supabase instance, uploading any file over about 6MB through the dashboard fails with: Failed to upload a file: tus: failed to resume upload, caused by [object ProgressEvent], originated from request (method: HEAD, url: http://YOURHOST/upload/resumable/...). Small uploads work. The browser console shows HEAD http://YOURHOST/upload/resumable/... net::ERRCONNECTIONREFUSED, with the port missing from the URL. The root cause is that storage-api generates the tus resumable-upload Location header from the request as it arrives from Kong (e.g. http://host:8000/upload/resumable/...), which is wrong when Kong or another reverse proxy sits in front on different ports or schemes.