我需要设置一个反向代理来拦截 HTTPS 请求,解密它们,执行主体适应并最终转发重新加密的请求。
我现在使用 Squid,它为 eCAP 插件和 ssl 碰撞提供支持:http ://wiki.squid-cache.org/Features/SslBump
如果我理解得很好,通过配置 SSL 碰撞,我可以完全按照我上面所说的去做。但是,ssl 碰撞暂时不起作用。
这是我的鱿鱼配置:
https_port 8080 cert=/etc/squid/cert.pem key=/etc/squid/key.pem
http_port 3128 ssl-bump cert=/etc/squid/cert.pem key=/etc/squid/key.pem dynamic_cert_mem_cache_size=4MB generate-host-certificates=on
cache_peer 52.170.25.214 parent 8080 0 no-query originserver login=PASS
#always_direct allow all
ssl_bump allow all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
客户端,当尝试向 https://127.0.0.1:8080 发送请求时,我收到以下错误:
Connection reset by peer
如果目标服务器正在运行 HTTPS,则会发生这种情况。看起来 Squid 正在尝试建立一个简单的 HTTP 连接而不是 HTTPS 请求。确实,服务器端我遇到了SSL23_GET_CLIENT_HELLO
错误。
我的配置有什么问题吗?SSL 凹凸的工作原理有什么我错过的吗?