How do I get a SSL certificate for my WSGI Flask server so it can send data over HTTPS?

I am running a site on a DigitalOcean droplet using Ubuntu 18.04 and Nginx 1.14.0. I also intend to have a Flask app using WSGI as its production server.

It would be enough to use HTTP with this server, except for a problem I have with my site: Namely, my site sends a query to the Flask server, and the browser demands the response be in HTTPS, or else it gives a “Mixed Content” error (receiving HTTP on a HTTPS site) and blocks the Flask server’s response.

The specific error message I get from my browser is this:

“Mixed Content: The page at ‘’ was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint ‘’. This request has been blocked; the content must be served over HTTPS.”

My question is, how can I get a SSL certificate for my Flask server so it can send data over HTTPS?

My second question is, if I use a self signed SSL certificate, will the page give me one of these warnings when it tries to load the response from the Flask server? One of these: (Big red padlock, and the message in h1 tags, “Your connection is not private”)

If the answer is “yes, it will give every user a warning that their connection is not private,” then the Self Signed SSL Certificate option does not work for me.


Submit an answer


Hi there @plutownium,

You could follow the steps from this tutorial here on how to use Nginx as a reverse proxy with uWSGI:—-securing-the-application

You could take a look at steps 6 and 7 on how to configuring Nginx to proxy requests and how to secure it with Let’s Encrypt.

Hope that this helps! Regards, Bobby