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

Django应用向localhost传JSON:本地正常生产环境连接失败

问题分析与解决办法

核心问题

本地测试正常但生产环境连接被拒绝,本质是生产环境中目标服务的可达性和监听配置与本地不一致:

  • 本地测试时,Django和目标服务器在同一台机器,访问127.0.0.1可直接命中服务
  • 生产环境中,要么目标服务器不在Django所在的生产机器上,要么目标服务器仅监听本地回环地址,未对外暴露

具体排查与修复步骤

1. 确认目标服务器部署位置

  • 若目标服务器与Django应用不在同一台生产机器:将请求地址中的127.0.0.1替换为目标服务器的实际内网IP/公网IP/域名,例如修改为http://192.168.1.100:16732/api/v2/requests
  • 若目标服务器与Django在同一台生产机器:继续排查监听配置

2. 检查目标服务器的监听地址

登录生产服务器,执行命令查看端口监听情况:

netstat -tulpn | grep 16732
  • 若输出显示监听地址为127.0.0.1:16732:说明服务仅允许本地回环访问,需修改目标服务配置,使其监听0.0.0.0:16732(允许所有网卡访问),随后重启服务
  • 若无任何输出:说明目标服务未在生产服务器上启动,先启动服务再测试

3. 验证生产环境网络连通性

在Django所在的生产服务器上,用curl命令测试连接:

curl -X POST http://127.0.0.1:16732/api/v2/requests -H "Content-Type: application/json" -d '{}'
  • 若同样报错连接拒绝:问题出在服务本身(未启动/监听地址错误)
  • 若能正常响应:检查Django代码中的auth参数、task数据格式是否异常,或生产环境的requests库版本与本地是否不一致

4. 排查防火墙/安全组规则

若目标服务器与Django不在同一机器,需检查:

  • 目标服务器的防火墙是否开放16732端口
  • 云服务安全组是否允许Django服务器的IP访问目标服务器的16732端口

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 14:54:58