MinIO file sharing points to internal server when getting presigned URLs

I created the MinIO instance from the “Deploy to Render” button and the service was deployed. Using the URL provided by Render that by default points to the MinIO console rather than the API, I opened the console, created a bucket and uploaded an mp3 file. When I click share and get a link, the link points toward the internal server as can be seen in the link below.

http://127.0.0.1:9000/focus-music/demo-audio.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=YO097KFC8HFUV8NT3F7E%2F20230110%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230110T024050Z&X-Amz-Expires=604800&X-Amz-Security-Token=eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiJZTzA5N0tGQzhIRlVWOE5UM0Y3RSIsImV4cCI6MTY3MzM2MDkxNCwicGFyZW50Ijoia3hITUZyS0xpT1diOGxQcEdkOHl2cU1DbWF3NUVuUmwifQ.2vv58h08NT6PqWfJpuw3LaODQ_Q4-Fw2g7-nZw6Cw2AXfbDTuEdZLcN39KrP5HnvMEwnUv_S_GTXHbIUrXGCtA&X-Amz-SignedHeaders=host&versionId=null&X-Amz-Signature=3cc05ef6211346b842db10c7ed31bb29ade832f9530fbdb423fdfe8fe9ebeaff

Issue:
Opening this link in the browser of course says the site can’t be reached, I need to get a link that I can publicly share.

What I’ve tried:
Changed the port of the render - provided URL to port 9000 to point at the MinIO API not GUI, redeployed the instance and used the URL in the place of http://127.0.0.1:9000
Doing this, a media player opened in the browser, but no content loaded.

I don’t have any experience with MinIO and any help will be appreciated.
BTW - doing this locally from a docker container works fine and the presigned URL opens the media in the browser, ready for download.

Hi @deonvisser,

Can you see if setting an environment variable on your service named MINIO_BROWSER_REDIRECT_URL with the value as the external hostname helps? This is in reference to the Things to consider section on the Minio readme. Let me know if this generates the URL correctly.