React+Django+Docker环境下API浏览器无法访问问题排查求助
问题排查方案
确认端口映射与本地连通性
- 执行
docker ps查看容器端口映射状态,确保主机端口(如8000)已绑定容器的8000端口,格式类似0.0.0.0:8000->8000/tcp - 在主机终端执行
curl localhost:8000或curl 127.0.0.1:8000:- 若能正常返回响应,说明容器服务和端口映射无问题,问题出在外部网络拦截或浏览器端
- 若无法返回,说明容器服务启动异常或端口映射失效
- 执行
排查防火墙与安全组
- Linux主机执行
ufw status查看防火墙规则,确认8000端口已被放行;云服务器需同步检查服务商安全组,确保外部可访问该端口 - 临时关闭防火墙测试:Linux执行
ufw disable,Windows执行netsh advfirewall set allprofiles state off,若关闭后可访问,需添加端口放行规则
- Linux主机执行
浏览器与跨域问题排查
- 用浏览器无痕模式访问,或清空缓存后重试,排除缓存导致的异常
- 检查Django的CORS配置(如
CORS_ALLOWED_ORIGINS),Postman不受跨域限制,但浏览器会触发该机制,若最近修改过相关配置可能导致拦截
Docker网络与端口占用检查
- 执行
docker inspect <容器ID>查看容器内部IP,在主机上curl该IP:8000,若能访问则服务本身正常,问题出在端口映射或外部网络 - 检查端口占用:Linux执行
lsof -i :8000,Windows执行netstat -ano | findstr :8000,若8000端口被其他进程占用,修改docker-compose的端口映射(如8001:8000)后重启容器
- 执行
内容的提问来源于stack exchange,提问作者ARSync
相关产品推荐
相关产品推荐

