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

如何在Ubuntu上连接运行中的mitmproxy wsgi-flask-app

解决mitmproxy访问指定路由的配置步骤

核心概念澄清

  • 你使用的wsgi-flask-app.py是mitmproxy官方示例插件,它会在mitmproxy内部启动一个Flask服务,默认监听127.0.0.1:8000
  • 本地127.0.0.1:2108是独立HTTP服务,由python3 -m http.server 2108启动

场景1:通过mitmproxy代理访问本地2108的HTTP服务

修正upstream命令格式

你之前的upstream命令格式错误,正确的upstream模式语法为mitmproxy --mode upstream://<目标服务地址>:<端口>,执行以下命令:

mitmproxy --mode upstream://127.0.0.1:2108

验证访问

将客户端代理设置为mitmproxy默认端口(8080),访问任意域名(如http://example.com),mitmproxy会自动将请求转发到127.0.0.1:2108的服务。


场景2:访问wsgi-flask-app插件的指定路由

该插件本身在mitmproxy内部运行Flask服务,无需upstream模式,直接加载插件即可:

启动命令

mitmproxy -s wsgi-flask-app.py

直接访问插件路由

插件默认提供/hello路由,可直接访问http://127.0.0.1:8000/hello(此为插件服务端口,非mitmproxy代理端口)。

通过mitmproxy代理访问插件路由

若需通过mitmproxy代理访问,需配合hosts配置:

  1. 编辑hosts文件:
sudo nano /etc/hosts
  1. 添加自定义域名映射:
127.0.0.1 flask.local
  1. 保持mitmproxy加载插件运行,客户端配置代理指向mitmproxy(8080),访问http://flask.local/hello即可。

常见错误排查

  • 区分三个端口:mitmproxy代理端口(默认8080)、插件服务端口(默认8000)、目标服务端口(2108),不要混淆
  • upstream模式参数必须是upstream://<host>:<port>格式,禁止使用带@的HTTP URL
  • 若连接失败,检查mitmproxy端口是否被占用,或本地防火墙是否放行相关端口

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 14:12:59