通过SSL/TLS来加密和客户端的通信内容。提高网络安全性,但是会损耗部分的服务器资源。
HTTPS 的原理图。

web.key 是打死也不能给其他人的。一定要保存好。里面主要是私钥。是各种认证的根基。本地测试的话生成1024的即可,如果是生产环境推荐使用2048。
web.csr 通过私钥 web.key生成。 包含 私钥和公钥。
通过x509格式的规范,通过证书生成,包含各类签名算法,加密算法(对称和非对称等),需要客户端支持对应的协议和各类算法。
具体命令:
- #安装uwsgi
-
- sudo apt install uwsgi
-
- #安装openssl
-
- sudo apt install openssl
-
- # 生成rsa秘钥,2048位
- openssl genrsa -out web.key 1024
-
- # 生成证书请求
- openssl req -new -key web.key -out web.csr
- #
-
- # 自行签署,输入证书请求,秘钥签名,输出证书,有效期:10年(自己设置)
- openssl x509 -req -days 3650 -in web.csr -signkey web.key -out web.crt
定义xxx.ini文件。
- # 更正后的uwsgi.ini,主要是指定chdir 和 wsgi-file
-
- [uwsgi]
- #具体是你的地址
- https = 0.0.0.0:8066,/root/web/ssl/web.crt,/root/web/ssl/web.key
-
- chdir = /root/web/mydjango
-
- wsgi-file = mydjango/wsgi.py
-
- master = true
-
- pidfile = /var/run/xxx.pid
- # 通过pid停止重启服务
-
- daemonnize = true
- # 守护进程,后台运行
执行命令:
- # 启动服务
- uwsgi --ini xxx.ini
其他命令:
- # 重启服务
- uwsgi --reload /var/run/xxx.pid
-
- # 停止服务
- uwsgi --stop /var/run/xxx.pid