如何在Windows 10本地以HTTPS协议运行Django项目?
Windows 10本地运行Django并通过HTTPS本地地址访问的实现方法
完全可以实现,按以下步骤操作即可:
- 第一步:生成本地受信任SSL证书
用本地证书生成工具为localhost签发SSL证书,得到证书公钥文件(.crt后缀)和私钥文件(.key后缀),将公钥证书导入Windows系统的「受信任的根证书颁发机构」存储区,避免浏览器访问时弹出不安全警告。 - 第二步:调整Django项目配置
打开项目目录下的settings.py文件修改配置:- 在
ALLOWED_HOSTS列表中添加'localhost' - 将
SECURE_SSL_REDIRECT参数值设为True,强制所有请求走HTTPS协议 - 把
'https://localhost'添加到CSRF_TRUSTED_ORIGINS列表中,避免HTTPS下提交表单触发CSRF校验报错 - 如果你需要固定
/app-name/的访问路径前缀,在项目根路由配置urls.py中统一添加路由前缀匹配规则即可
如果你打算用带SSL支持的开发启动命令,提前安装django-extensions依赖,把'django_extensions'添加到INSTALLED_APPS列表中。
- 在
- 第三步:启动带HTTPS支持的Django服务
以管理员身份打开终端,进入Django项目根目录,执行启动命令:python manage.py runserver_plus --cert-file 你的证书公钥文件路径.crt --key-file 你的证书私钥文件路径.key 0.0.0.0:443
这里指定443端口是因为HTTPS协议默认访问443端口,配置后访问地址不需要带端口号。如果不需要省略端口,把443换成你想用的端口(比如8000)即可,此时不需要管理员权限启动终端。
注意:以上配置仅适用于本地开发测试场景,不要直接套用到生产环境部署。
启动完成后,直接在浏览器输入https://localhost/app-name/就能正常访问本地Django项目了。
如果访问时出现证书相关报错,优先检查两个点:一是证书是否正确导入系统受信任根证书目录,二是签发证书时是否把localhost列入了证书的合法域名列表。
内容的提问来源于stack exchange,提问作者Davood
相关产品推荐
相关产品推荐

