docker 中的 mitmproxy 在 traefik 和服务之间

mitmproxy in docker between traefik and service

我想分析在负载均衡器(traefik 或 nginx)和服务之间放置 mimtproxy 的流量,但我真的不明白该怎么做。我不想将 mitmproxy 设置为普通代理(就像一个魅力),因为我想了解负载平衡器如何修改请求。

我阅读了 available mode of operation 上的文档,但我不知道哪种情况适合我。我倾向于排除透明模式(我在防火墙上使用的模式)并且我真的不明白什么是 --mode reverse:http://...:我认为这是一种将任何内容转发到给定地址的方法,所以我尝试设置它:

  mitmweb:
    image: mitmproxy/mitmproxy
    tty: true
    ports:
      - "8080:8080"  # proxy                                                                                                            
      - "8081:8081"  # web-interface                                                                                                    
    command: mitmweb --web-host 0.0.0.0 --no-web-open-browser -p 8080 --mode reverse:http://django:8000/
   ...

但是 mitmproxy 抱怨

403: To protect against DNS rebinding, mitmweb can only be accessed by IP at the moment. (https://github.com/mitmproxy/mitmproxy/issues/3234)

有可能吗?怎么办?

我误解了不是拒绝代理的消息。它只是暗示我需要通过 ip 而不是 dns 名称访问 web 界面

结果很棒。您获得了流量,并且可以以一种非常有用的方式反省 request/response cicle。