🎯 最推荐的解决方案
我建议使用 方案四,因为它最简单可靠:

bash
# 1. 确保已安装 django-extensions
pip3 install django-extensions

# 2. 生成证书
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes -subj "/CN=192.168.220.10"

# 3. 在 settings.py 中添加 django_extensions 到 INSTALLED_APPS

# 4. 运行 HTTPS 服务器
python manage.py runserver_plus 0.0.0.0:5000 --cert-file cert.pem --key-file key.pem
🔍 验证证书生成
检查证书是否生成成功:

bash
ls -la *.pem
openssl x509 -in cert.pem -text -noout | grep "Subject:"
应该显示:

text
Subject: CN = 192.168.220.10

太好了!方案四成功了!Windows 端显示证书风险是完全正常的现象,这正是我们预期的结果。

🔒 为什么会有证书风险提示
这是因为我们使用的是自签名证书,而不是由公共信任的证书颁发机构(CA)签发的证书:

✅ 自签名证书:我们自己生成的,加密强度与付费证书相同

❌ 浏览器不信任:因为没有在浏览器的信任列表里注册

🔐 加密仍然有效:数据传输仍然是 HTTPS 加密的

🛡️ 如何解决证书风险提示
方法一:在 Windows 中信任证书(推荐)
🎯 最简单的解决方案
对于开发环境,我建议使用方法一(信任证书),这是最彻底的解决方案。

详细的操作步骤:
在 Linux 服务器上执行:

bash
openssl x509 -in cert.pem -out certificate.crt
将 certificate.crt 文件传输到 Windows

可以使用 SCP、SFTP,或者直接共享文件夹

在 Windows 上安装证书:

按 Win + R,输入 certmgr.msc

在左侧选择"受信任的根证书颁发机构"

右键点击"证书",选择"所有任务"→"导入"

选择 certificate.crt 文件,完成导入

重启 Django 服务器:

bash
python manage.py runserver_plus 0.0.0.0:5000 --cert-file cert.pem --key-file key.pem

清除浏览器缓存并重新访问(Ctrl + F5 或 Ctrl + Shift + F5)