SSLEOF error in Django via djangossl server using nginx and letsencrypt on https

Only if you’re exposing this site to the outside world and don’t want to increase the number of security vulnerabilities created by your system. (Now, if you don’t care what happens to this system, or to any system on the same subnet as this one, then it may not be a concern to you.)

You can copy the private key to another file owned by a group that your user is a member of.

Actually, nginx (and Apache, and a number of other similar systems) start as root, get access to whatever privileged resources are needed, and then change to the UID that it will serve users as.

That’s a huge topic - far more than what can be covered in a single post here. I’ve touched on a couple things about this specific topic at: Django URL's security.
Another good thing to do is to move the admin off of the “admin/” url path. Pick some other non-obvious name that fits into your general naming scheme, and assign the url to it.

Be aware that security is never something you’re “done” with. It requires on-going effort and dilligence. You will need to plan to spend time every week ensuring that the server is healthy.

I’m thinking a corrupted, malformed, or improper formatted file. I’d check it with something like nginx to verify that the file is good. If it is, then I’d probably try running sslserver with as much logging enabled as possible to see if additional information can be obtained.

Quoting directly from GitHub - teddziuba/django-sslserver: A SSL-enabled development server for Django

Please note that this should not be used for production setups. This app is intended for special use-cases. Most people should instead do a proper production deployment where a real webserver such as Apache or NGINX handles SSL.

If the authors of a project are saying that they don’t trust their software in a production environment, is it wise for you to do so?

If nothing else, gunicorn should be considered a viable alternative.