mitmproxy如何配置非对称TLS连接实现后端请求TLS版本降级?
结论
完全可以实现你描述的非对称TLS连接模式,mitmproxy原生支持客户端(入站侧)、服务端(出站侧)的TLS配置完全独立,两侧协商过程互不干扰。
具体配置方案
1. TLS版本配置
你找到的4个参数刚好对应两侧的TLS版本范围控制,按如下配置即可满足需求:
- 入站(外部客户端→mitmproxy)侧配置:
- 设置
tls_version_client_min = TLS1_2 - 设置
tls_version_client_max = TLS1_3
效果:支持外部入站连接协商使用TLS 1.2或TLS 1.3协议
- 设置
- 出站(mitmproxy→后端服务)侧配置:
- 设置
tls_version_server_min = TLS1_2 - 设置
tls_version_server_max = TLS1_2
效果:mitmproxy向后端发起连接时仅会协商TLS 1.2协议,不受入站连接使用的TLS版本影响
- 设置
命令行启动时的参数示例:mitmproxy --set tls_version_client_min=TLS1_2 --set tls_version_client_max=TLS1_3 --set tls_version_server_min=TLS1_2 --set tls_version_server_max=TLS1_2
2. 加密套件单独控制
你的额外需求也可以实现,mitmproxy提供两个独立参数分别控制两侧的加密套件协商范围:
ciphers_client:配置入站侧和外部客户端协商的加密套件列表ciphers_server:配置出站侧和后端服务协商的加密套件列表
两侧加密套件配置完全独立,可按照不同安全要求分别设置,不会互相干扰。
内容的提问来源于stack exchange,提问作者Greg Maples
相关产品推荐
相关产品推荐

