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

如何在IIS 10上为Django服务配置HTTPS解决混合内容报错

解决流程

该报错是HTTPS页面不允许发起HTTP请求导致,按以下步骤配置即可:

1. 前置证书准备

你已有的GoDaddy SSL证书需要先导入IIS10:

  • 若你拿到的是.crt+.key格式的证书,先执行命令转成IIS支持的.pfx格式:
    openssl pkcs12 -export -out 证书名.pfx -inkey 私钥文件.key -in 证书文件.crt
    执行时按提示设置导出密码。
  • 打开IIS管理器,点击根节点,选择「服务器证书」,右侧点击「导入」,选择刚才的pfx文件,输入导出密码完成导入。

2. IIS侧为Django应用配置HTTPS绑定

  • 找到你部署Django服务对应的IIS站点,右侧点击「绑定」→「添加」
  • 类型选择https,端口填写你Django服务对外暴露的端口(即原HTTP请求用的xxxx端口),SSL证书选择刚才导入的GoDaddy证书,点击确定保存。
  • 可选操作:删除该站点的HTTP绑定,或者配置URL重写规则强制HTTP请求跳转到HTTPS。

3. Django项目配置适配HTTPS

打开Django项目的settings.py文件,修改以下配置项:

# 新增HTTPS访问的域名/IP到允许列表
ALLOWED_HOSTS = ['你的前端域名', 'Django服务的HTTPS访问域名/IP']
# 配置IIS反向代理下的HTTPS识别
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
# 强制所有请求走HTTPS
SECURE_SSL_REDIRECT = True
# 配置Cookie仅在HTTPS下传输
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True

修改后重启Django对应的IIS站点生效。

4. 前端请求地址修改

将Vue项目中所有请求Django接口的地址前缀,从原http://x.x.x.x:xxxx替换为对应的HTTPS地址https://Django服务域名:xxxx,重新打包部署前端即可。

验证

直接在浏览器访问Django的HTTPS接口地址确认可正常访问,再打开前端页面触发接口请求,确认无混合内容报错即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:57:02