You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法修改Flask端口及Windows端口配置问题求助

Flask端口与Windows配置问题解决方案

问题1:端口设置无效,服务仍运行在5000端口

控制台显示默认5000端口,核心原因是代码未执行到Waitress的启动逻辑,按以下步骤排查:

  • 确认app对象定义在if __name__ == "__main__":代码块之前,确保serve调用时app已正确初始化。
  • 启动方式必须是直接运行index.py(执行python index.py),而非通过flask run命令——Flask CLI会忽略代码内的端口配置,强制使用默认设置。
  • 检查是否有其他代码分支提前退出main块,导致serve语句未被执行。

正确代码示例:

from flask import Flask
app = Flask(__name__)

# 路由及业务代码...

if __name__ == "__main__":
    from waitress import serve
    serve(app, host="0.0.0.0", port=5566)

问题2:Windows防火墙添加规则后端口仍显示未开放

  • 先验证端口是否被监听:打开CMD执行netstat -ano | findstr ":5566",若无结果,说明服务未在该端口运行,先解决问题1。
  • 若端口已被监听,检查防火墙规则细节:
    • 规则需明确覆盖TCP协议(Flask/Waitress默认用TCP),不要仅开放UDP。
    • 规则"作用域"需包含访问者IP范围,或直接选择"任何IP地址"。
    • 排查第三方安全软件(如杀毒软件防火墙)是否拦截端口,可临时关闭测试。
  • 重置防火墙后重新添加规则:CMD执行netsh advfirewall reset,重启防火墙服务后重新配置5566端口的入站/出站规则。

问题3:本地访问5000端口上传图片出现Internal Server Error

该错误为服务器端代码异常,按以下步骤定位:

  • 开启Flask调试模式(仅本地测试):临时改用app.run(debug=True, port=5566)启动,页面会显示具体错误栈,常见原因包括:上传目录不存在、目录无写入权限、文件大小超出限制、表单字段名不匹配等。
  • 针对性排查代码:
    • 确保上传目录存在,可添加os.makedirs(upload_dir, exist_ok=True)避免目录不存在报错。
    • 配置文件大小限制:app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024(限制为16MB)。
    • 检查前端表单name属性与后端request.files['xxx']的字段名是否一致。

问题4:其他用户访问异常

  • 其他用户可直接通过IP访问,说明服务器存在反向代理(如IIS、Nginx)监听80端口并转发到Flask服务,但代理未配置文件上传支持——需检查代理服务器设置,确保它能正确传递文件上传的请求体。
  • 用户无法访问IP:5000或IP:5566,需确认:
    • 服务确实在对应端口监听(用netstat验证)。
    • 防火墙规则正确配置(参考问题2)。
    • 若为内网环境,需在路由器配置端口转发,将外网5566端口映射到服务器内网IP的5566端口。

内容的提问来源于stack exchange,提问作者Pepeeeee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 02:57:08