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
相关推荐
Gofarlic_oms13 小时前
利用API实现ANSYS许可证管理自动化集成
运维·服务器·开发语言·matlab·自动化·负载均衡
档案宝档案管理4 小时前
权限分级管控,全程可追溯,筑牢会计档案安全防线
运维·网络·人工智能
倔强的石头1065 小时前
【Linux指南】基础IO系列(八):实战衔接 —— 给微型 Shell 添加完整重定向功能
linux·运维·服务器
try2find5 小时前
打印ascii码报错问题
java·linux·前端
观北海6 小时前
AiScan-N:AI全自动化渗透测试工具的深度技术解析
运维·自动化
Ujimatsu6 小时前
虚拟机安装Ubuntu 26.04.x及其常用软件(2026.4)
linux·运维·ubuntu
冰暮流星6 小时前
javascript事件案例-全选框案例
服务器·前端·javascript
一直会游泳的小猫9 小时前
homebrew
linux·mac·工具·包管理
Agent产品评测局9 小时前
制造业生产调度自动化落地,完整步骤与避坑指南:2026企业级智能体选型与实战全景
运维·人工智能·ai·chatgpt·自动化
寒秋花开曾相惜9 小时前
(学习笔记)4.2 逻辑设计和硬件控制语言HCL(4.2.1 逻辑门&4.2.2 组合电路和HCL布尔表达式)
linux·网络·数据结构·笔记·学习·fpga开发