客户端软件版本使用 TLS 1.0 协议连接到 Web 服务(当前版本尚无法配置为使用较新的协议版本),并且服务器策略最近升级为仅允许使用 TLS 1.2。
是否可以创建一个代理服务器,它可以接受 TLS 1.0 连接,并通过下游 TLS 1.2 连接工作?
这可以暂时解决问题,直到客户端软件升级。
可以使用什么软件来创建这样的代理服务器?
答案1
是的,可以这样做。如果协议是 HTTPS,您可以使用各种软件,如 Fiddler、mitmproxy 甚至 squid,它们具有此功能,用于 TLS 拦截和分析。各种防火墙也具有此功能。您也可以使用索卡特一方面充当 TLS 服务器,另一方面充当 TLS 客户端。但在所有这些情况下,原始证书都会丢失,并使用新证书,并且并非所有这些解决方案都能正确检查原始证书。
答案2
我已经使用 mitmproxy 在反向代理模式下成功完成了设置:
https://mitmproxy.readthedocs.io/en/v2.0.2/features/reverseproxy.html。
请注意,您将需要您的 web 服务的证书 PEM(其中包括证书和私钥),以便代理能够为您的客户端软件和系统透明地进行加密-解密-签名。