mitmproxy作为反向代理-强制使用SSL?

问题描述

假设您有一些玩具项目应该获得SSL支持。只需将mitmproxy设置为端口443上的反向代理,就可以完成(mitmdump -p 443 --mode reverse:http:// localhost:80 /)。 Mitmproxy自动检测TLS流量并动态拦截

https://docs.mitmproxy.org/stable/concepts-modes/

您可以让mitmdump强制执行SSL吗?还是验证客户端确实使用SSL?

解决方法

您可以编写一个mitmproxy插件来检查:

from mitmproxy import http

def request(flow):
    if not flow.client_conn.tls_established:
        flow.request.response = http.HTTPResponse.make(400)