I’m trying to test an Uppy integration in a test environment with a staging SSL cert from LetsEncrypt. It is not going well, because I see an error when I try to upload files.

In Firefox, I see a failed OPTIONS request to with “CORS Failed” error. I also see a failed POST to the same URL, with NS_ERROR_DOM_BAD_URI.

In Brave, the same set of actions uploading a file I see different errors. “(failed) net::ERR_CERT_AUTHORITY_INVALID” on both OPTIONS and POST requests.

The CORS error I think has to do with how I’m making the requests. I have, and is where people visit, and is where my Uppy companion server is at. Each of them are using LetsEncrypt staging SSL certs.

Seeing as it is a test environment with a staging SSL cert, Is there maybe a way to disable the SSL verification? I think that’s what’s causing the problem that Brave is seeing. Firefox on the other hand confuses me since it shows a CORS error. I think CORS errors are caused when the Companion server receives a request from a non-whitelisted host. In Uppy companion, I think this whitelist is configured using COMPANION_CLIENT_ORIGINS environment variable, which I have configured to be

I think I have COMPANION_CLIENT_ORIGINS configured correctly, so I don’t know why I’m seeing the CORS error in Firefox.

Following up to my own question, I found a workaround. I couldn’t find a way to bypass SSL verification in Firefox, but I did find a way in Bruno (the standalone program for making REST requests). Bruno has a SSL verification checkbox that I can uncheck, at which point it won’t care if the SSL is from Letsencrypt staging environment. Then I was able to make POST requests to the endpoint that Uppy uses, with the following JSON payload.


After making the request, I was able to see that my Uppy companion was throwing a 500 Internal Server Error, because I typed in the S3 endpoint incorrectly. So we went from one error to another, but this is definite progress!