Docker环境下用iptables路由容器TCP 80/443流量至上游HTTP代理时HTTPS请求出现SSL版本错误的问题求助
Docker环境下用iptables路由容器TCP 80/443流量至上游HTTP代理时HTTPS请求出现SSL版本错误的问题求助
各位大佬好,我遇到个棘手的问题想请教下:
我现在在一个没法部署redsocks透明代理的Docker环境里,需要把容器的TCP 80/443流量都路由到上游代理。我已经给容器开启了net_admin权限,并且执行了以下两条iptables规则(80端口也执行了一套相同逻辑的规则):
iptables -t nat -A OUTPUT -p tcp --dport 443 -j DNAT --to-destination 192.168.1.10:6088 iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.10 --dport 6088 -j SNAT --to-source $(hostname -I | awk '{print $1}')
测试的时候,curl http://icanhazip.com是正常的,能正确返回上游代理的IP地址;但用curl https://icanhazip.com就会报错:
curl: (35) OpenSSL/3.0.11: error:0A00010B:SSL routines::wrong version number
补充说明下,这个上游代理是HTTP类型的,直接用curl https://icanhazip.com -x http://192.168.1.10:6088这种指定代理的方式请求是完全正常的。
更新
后来我尝试改用redsocks作为透明代理,跟着一篇技术回答的步骤完成了配置,但问题还没解决...
备注:内容来源于stack exchange,提问作者Shayan
相关产品推荐
相关产品推荐

