You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django开发服务器中使用LetsEncrypt/Certbot配置SSL?

嘿,我完全懂你想在Django开发服务器上配置SSL来验证功能可用性的需求——毕竟在推去生产前先把功能跑通是很稳妥的做法。Certbot确实主要针对Apache、Nginx这类生产级Web服务器,但开发环境里咱们不用那么复杂,Django自带的开发服务器本身就支持SSL配置,几步就能搞定:

在Django开发服务器启用SSL的简易方案

1. 生成自签名SSL证书

开发环境不需要CA颁发的正规证书,用OpenSSL生成一个自签证书就够了。打开终端执行以下命令:

openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days 365 -nodes

执行过程中会让你填写一些信息(比如国家、组织名),随便填就行,开发测试不需要严格合规。这个命令会生成一个有效期1年的私钥(server.key)和证书(server.crt),-nodes参数是让私钥不设置密码,避免每次启动都要输入。

2. 启动带SSL的Django开发服务器

Django的runserver命令支持直接指定SSL证书和密钥,不需要修改任何项目代码。运行以下命令启动服务器:

python manage.py runserver --cert server.crt --key server.key

启动成功后,你就可以通过https://localhost:8000(或者你指定的自定义端口)访问你的Django项目了。

3. 处理浏览器的安全警告

因为是自签证书,浏览器会弹出“此连接不安全”的警告,这是正常现象。你可以选择手动信任这个证书(不同浏览器操作略有不同,一般在高级选项里能找到“继续访问”的入口),或者直接忽略警告进入页面——毕竟只是开发测试,不会有实际的安全风险。

可选:模拟生产级反向代理+SSL(进阶)

如果你想更贴近生产环境的配置,也可以用Nginx或Caddy做反向代理,然后用Certbot给代理服务器配置测试证书(比如用Certbot的--test-cert参数生成测试环境证书)。不过这个方案相对复杂,如果你只是单纯验证Django的SSL功能,前面的简易方案已经完全够用。

内容的提问来源于stack exchange,提问作者Cathal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:19:21