执行heroku local部署Django应用到Heroku时浏览器无法连接求助
排查步骤
- WSL端口映射问题
WSL2使用独立虚拟网卡,默认Windows端的localhost无法直接访问WSL内的服务。先在WSL终端执行ip a找到eth0网卡对应的inet地址(格式为172.x.x.x),后续访问替换原有localhost为该IP,比如http://172.20.1.123:5000。 - 修改服务监听地址
默认gunicorn仅监听WSL本地回环地址,将Procfile的启动命令修改为web: gunicorn --bind 0.0.0.0:5000 project3.wsgi,允许所有网卡的访问请求。 - 检查Django配置
确认settings.py中的ALLOWED_HOSTS配置包含你访问用的IP/域名,临时测试可以设置为ALLOWED_HOSTS = ['*']排除配置问题,确认可用后再收紧权限。 - 防火墙排查
执行WSL命令sudo ufw status确认5000端口未被WSL防火墙拦截,同时检查Windows Defender防火墙的入站规则,放开5000端口的访问权限。 - 端口冲突测试
执行heroku local -p 8000指定用8000端口启动,排除默认5000端口被占用的问题。
内容的提问来源于stack exchange,提问作者Sopeade Lanlehin
相关产品推荐
相关产品推荐

