Python的Django部署uwsgi后自签名实现的HTTPS

通过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/foobar.crt,/root/web/ssl/foobar.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
相关推荐
律宏阔13 分钟前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔13 分钟前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴13 分钟前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千38 分钟前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei3740 分钟前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei3740 分钟前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei3740 分钟前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
judezh41 分钟前
api 容器一直 unhealthy?我把一个 Agent 运行时的健康检查逐条拆了,查出四个问题
运维·docker
GeW44 分钟前
制造业高端化,为什么必须重估Linux和数据库?
linux
百万蹄蹄向前冲1 小时前
双端同步!云服务器装最新Node.js v26.10全过程追踪
服务器·人工智能·node.js