redsocks 怎么做到转发 https 请求不需要证书的?

2014-09-05 14:11:51 +08:00
 tony1016
Squid在做透明代理时,遇到Https时,需要重新进行数字签名,所以一直没有搞定。但是最近在看OpenWrt上的redsocks时,发现这货尽然做到了。有人知道内部细节吗?
5436 次点击
所在节点    程序员
4 条回复
bigeagle
2014-09-05 14:22:15 +08:00
redsocks工作在传输层,squid代理工作在应用层
tony1016
2014-09-05 23:33:43 +08:00
@bigeagle 我赞同你的观点。但这并不是iptables将一个tcp转发这么简单。它还是要将http头部改为http connect模式,才能将请求最终通过socks5或者http代理发送出去啊?对吧??这怎么解释呢?
mind3x
2014-09-06 08:35:06 +08:00
@tony1016 你可能没有真正明白 @bigeagle 的意思。你可以理解成redsocks转发的是tcp连接,相当于直接改变路由,或者是包装在vpn隧道里。根本不需要知道转发的是http还是https还是别的什么。说白了就是用socks代理加iptables实现一个效率比较差一点的VPN。
jerryjhou
2014-09-06 09:44:23 +08:00
@tony1016 Socks和HTTP Connect都是直接封装TCP连接的(Socks5还可以包装UDP),
Squid完全是设计问题,他本来就不是用来做透明代理的(做正向/反向代理是可以支持HTTPS的,且支持多种模式,在HTTP Connect之上再封装一层SSL)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/131903

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX