Windows Server 2019卸载IIS后80等端口访问被主动拒绝问题排查
问题引发原因
- 核心原因是Flask默认启动仅绑定本地回环地址
127.0.0.1,仅允许服务器本机访问,你提供的代码中app.run()没有指定host参数,外部局域网、公网的请求无法被服务监听,会被系统主动拒绝连接。 - 端口不匹配:你的Flask代码配置监听端口为5000,但报错信息显示请求访问的是80端口,服务根本没有在80端口运行,自然无法响应请求。
- 特殊情况:如果调整后仍有报错,可能是对应端口被其他进程占用、低端口(1024以下)未获得管理员运行权限、或安全软件仍拦截请求导致。
解决方案
- 修改Flask启动参数,绑定所有网卡地址,允许外部访问:
将代码最后一行修改为:app.run(host='0.0.0.0', port=5000, debug=True) - 访问时端口需和配置一致:修改配置后访问地址应为
http://192.168.0.5:5000,不要使用默认80端口。 - 如需使用80/443等标准端口:
- 直接将port参数改为对应端口,且使用管理员权限运行Flask脚本(Windows Server默认限制普通用户使用1024以下端口);
- 或部署Nginx等反向代理服务,将80/443端口的请求转发到Flask监听的5000端口。
- 排查端口占用:在服务器cmd中执行命令
netstat -ano | findstr "5000",确认目标端口没有被其他进程占用,若存在占用可终止对应进程或更换Flask监听端口。 - 确认访问拦截规则:即使关闭系统防火墙,仍需检查是否有第三方安全软件、组策略规则拦截对应端口的入站请求。
内容的提问来源于stack exchange,提问作者Vivent
相关产品推荐
相关产品推荐

