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

Django向本地Spring应用发送GET请求时出现Connection refused问题

解决Django应用无法连接本地Spring服务的问题

我来帮你排查这个Connection refused的问题——你能正常访问外部网站但连不上本地Spring服务,说明问题肯定出在本地服务的运行状态、网络可达性这几个方向,给你列几个最常见的排查点:

1. 先确认Spring服务真的在跑,且监听对了端口

首先别忽略最基础的:你的Spring应用是不是真的启动成功了?有没有监听5000端口?

  • 用终端命令检查端口占用:
    • Linux/macOS:netstat -anp | grep 5000,看看输出里有没有你的Spring进程
    • Windows:netstat -ano | findstr :5000,找到PID后去任务管理器对应进程
  • 如果Spring没启动,先启动它;如果端口不对,要么改Spring的端口配置,要么把Django里的url2换成正确的端口。

2. 警惕容器环境的网络隔离!

如果你是用Docker部署Django或者Spring的,这是最容易踩的坑:
容器里的localhost指的是容器自己的本地,不是宿主机的localhost!这时候你用http://localhost:5000其实是让Django容器去连它自己的5000端口,当然连不上。
解决方法:

  • 把url2换成宿主机的局域网IP(比如http://192.168.1.105:5000,自己查一下宿主机的IP)
  • 如果是Docker Desktop环境,也可以用host.docker.internal代替localhost,比如http://host.docker.internal:5000

3. 检查本地防火墙/安全组

本地防火墙可能会拦截5000端口的请求,尤其是Windows防火墙或者Linux的ufw:

  • 临时关闭防火墙试试能不能连上,如果能,就给5000端口添个放行规则:
    • Windows:在防火墙高级设置里添入站规则,允许5000端口的TCP请求
    • Linux:sudo ufw allow 5000/tcp

4. 确认Spring服务的监听地址不是仅127.0.0.1

有些Spring应用默认只监听127.0.0.1(也就是只有宿主机本地进程能访问),如果你的Django是在容器或者另一个环境里,就会被拒绝。
解决方法:修改Spring的配置,让它监听所有网卡:

  • 在application.properties里添加:server.address=0.0.0.0
  • 或者启动Spring时加参数:java -jar your-app.jar --server.address=0.0.0.0

最后给你个验证步骤:先在宿主机的浏览器里访问http://localhost:5000,如果浏览器都访问不了,那问题肯定在Spring服务本身;如果浏览器能访问但Django不行,那大概率是网络隔离或者监听地址的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:18:00