Mac下通过VPN运行Flask服务器遇连接拒绝问题求助
解决Flask服务器VPN下无法访问的问题
以下是针对macOS系统的排查和解决步骤:
确认VPN的网络路由配置
在终端执行netstat -rn查看路由表,确认172.20.3.0/24网段的下一跳是否指向本地VPN接口(如utunX类设备),避免该网段流量被转发到外部网络。验证本地对目标IP的访问性
在终端执行curl http://172.20.3.120:5000/api/v1/predict,若本地也无法访问,说明Flask未真正绑定到该IP。尝试直接指定绑定目标IP启动服务:python3 -m flask run --host=172.20.3.120若启动失败,说明该IP当前不属于本地设备,需检查VPN的IP分配逻辑。
检查端口占用情况
执行lsof -i :5000确认5000端口是否被其他进程抢占。若存在非Flask的占用进程,更换端口测试:python3 -m flask run --host=0.0.0.0 --port=5001再用Postman访问
http://172.20.3.120:5001/api/v1/predict。排查VPN客户端的内置规则
部分VPN客户端自带流量过滤或防火墙规则,会阻止本地服务的跨设备访问。打开VPN客户端设置,查找“允许内部访问”“本地服务共享”类选项并开启后重试。验证Flask路由的有效性
先通过http://127.0.0.1:5000/api/v1/predict确认接口本身正常。若本地访问也报错,问题出在Flask应用的路由配置,与网络环境无关。
内容的提问来源于stack exchange,提问作者baihaqi
相关产品推荐
相关产品推荐

