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

SSH端口转发下Flask无法访问问题求助(http.server可正常运行)

问题解决:Flask通过SSH端口转发无法访问的问题

可能的原因及对应解决方案

1. 确保Flask监听正确的地址和端口

默认flask run仅监听127.0.0.1,即便通过SSH隧道转发,也可能因服务器上的Flask未开放到可被隧道访问的地址、或端口不匹配导致失败。

执行以下命令启动Flask:

flask --app app run --host=0.0.0.0 --port=5000

启动后检查日志,确认输出包含* Running on all addresses (0.0.0.0)和* Running on http://127.0.0.1:5000,说明Flask已开放所有接口并监听5000端口。

2. 检查SSH端口转发配置

确保Putty的端口转发设置为本地端口转发:

  • 在Putty的「Connection > SSH > Tunnels」中:
    • 「Source port」填写5000(Windows本地要访问的端口)
    • 「Destination」填写127.0.0.1:5000(远程服务器上Flask运行的本地地址和端口)
    • 选择「Local」和「Auto」,点击「Add」添加转发规则
    • 完成后连接SSH,确保隧道建立成功

3. 排查端口占用问题

  • 在Windows客户端执行命令,检查5000端口是否被其他程序占用:
netstat -ano | findstr :5000

如果有占用,要么关闭占用程序,要么修改SSH转发的源端口(比如改为5001),保持Flask运行端口为5000,之后访问http://localhost:5001。

4. 验证服务器本地的Flask可访问性

在远程服务器上执行命令,测试Flask服务是否正常响应:

curl http://127.0.0.1:5000

如果返回Web App with Python Flask!,说明Flask服务本身正常,问题出在SSH隧道或Windows客户端;如果无响应,检查Flask代码是否有误,或是否有服务器本地防火墙限制了127.0.0.1的5000端口。

内容的提问来源于stack exchange,提问作者J'e

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 18:24:41