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

Django网站无法连接:127.0.0.1拒绝连接,疑为防火墙问题如何解决?

解决Django本地访问127.0.0.1拒绝连接(防火墙相关)

先确认基础前提

  • 确保Django开发服务器绑定正确地址:启动时使用命令 python manage.py runserver 127.0.0.1:8000 或 python manage.py runserver 0.0.0.0:8000,避免绑定到非本地地址。
  • 确认服务器正常运行:终端应显示「Starting development server at http://127.0.0.1:8000/」,无启动报错。

分系统处理防火墙问题

Windows系统

  • 临时测试(不推荐长期关闭):
    打开「控制面板」→「Windows Defender防火墙」→「启用或关闭Windows Defender防火墙」,选择「关闭Windows Defender防火墙」,测试访问是否正常。测试完成后务必重新开启防火墙。
  • 添加永久放行规则:
    1. 进入「Windows Defender防火墙」→「高级设置」
    2. 在「入站规则」面板点击「新建规则」
    3. 规则类型选「端口」,点击下一步
    4. 选择「TCP」,输入Django使用的端口(默认8000),点击下一步
    5. 选择「允许连接」,点击下一步
    6. 勾选所有网络类型(根据实际需求调整),点击下一步
    7. 命名规则(比如「Django开发服务器端口放行」),完成设置

Linux系统(以Ubuntu/Debian为例)

  • 临时测试:
    执行命令 sudo ufw disable 关闭防火墙,测试后用 sudo ufw enable 恢复。
  • 添加端口放行规则:
    1. 执行 sudo ufw allow 8000/tcp(将8000替换为你实际使用的Django端口)
    2. 执行 sudo ufw status 验证规则是否已成功添加

macOS系统

  • 临时测试:
    打开「系统设置」→「网络」→「防火墙」,点击「关闭防火墙」测试,完成后重新开启。
  • 添加放行规则:
    1. 打开「系统设置」→「网络」→「防火墙」→「选项」
    2. 点击「+」按钮,选择运行Django的Python解释器或终端应用,勾选「允许传入连接」后保存
    3. 也可通过终端放行端口:执行 sudo ipfw add allow tcp from any to any 8000 in(替换8000为实际端口)

额外排查点

  • 检查端口是否被占用:
    • Windows:执行 netstat -ano | findstr :8000,若有其他进程占用,可杀死进程或换端口启动(python manage.py runserver 8001)
    • Linux/macOS:执行 lsof -i :8000,查看占用进程并处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 04:35:33