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

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

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