AWS实例上Django应用拒绝远程连接问题求助
Django远程访问AWS实例连接被拒绝问题解决
问题详情
- Django应用配置:
DEBUG = False ALLOWED_HOSTS = ['*'] - 新增接口URL:
server/get_something - 本地通过
python manage.py runserver启动服务后,请求该接口正常返回结果 - 部署至AWS Amazon Linux实例,使用7500端口,AWS安全组已开放该端口至所有地址
- 远程请求实例公网IP:7500/server/get_something时,提示「连接被拒绝」,Django进程无相关日志输出;请求其他未开放端口时显示超时(说明请求已通过AWS安全组)
- 实例本地执行
curl 127.0.0.1:7500/server/get_something可正常获取结果
核心原因及解决方法
原因
默认情况下,python manage.py runserver仅绑定本地回环地址127.0.0.1,这意味着服务只能被实例本地访问,无法接收来自外部的请求。
解决命令
启动Django服务时,明确指定绑定所有网络接口:
python manage.py runserver 0.0.0.0:7500
额外排查验证
检查实例防火墙规则
若上述操作后仍无法访问,需确认实例本地防火墙(如firewalld)是否放行7500端口:# 查看已开放端口 sudo firewall-cmd --list-ports # 若未找到7500/tcp,执行以下命令添加并生效 sudo firewall-cmd --add-port=7500/tcp --permanent sudo firewall-cmd --reload确认服务监听地址
使用以下命令检查Django服务是否正确绑定0.0.0.0:7500:netstat -tulpn | grep 7500正常输出应包含
0.0.0.0:7500,而非仅127.0.0.1:7500
内容的提问来源于stack exchange,提问作者Omroth
相关产品推荐
相关产品推荐

