V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tony1016
V2EX  ›  程序员

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

  •  
  •   tony1016 · 2014-09-05 14:11:51 +08:00 · 5445 次点击
    这是一个创建于 3732 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Squid在做透明代理时,遇到Https时,需要重新进行数字签名,所以一直没有搞定。但是最近在看OpenWrt上的redsocks时,发现这货尽然做到了。有人知道内部细节吗?
    4 条回复    2014-09-06 09:44:23 +08:00
    bigeagle
        1
    bigeagle  
       2014-09-05 14:22:15 +08:00
    redsocks工作在传输层,squid代理工作在应用层
    tony1016
        2
    tony1016  
    OP
       2014-09-05 23:33:43 +08:00
    @bigeagle 我赞同你的观点。但这并不是iptables将一个tcp转发这么简单。它还是要将http头部改为http connect模式,才能将请求最终通过socks5或者http代理发送出去啊?对吧??这怎么解释呢?
    mind3x
        3
    mind3x  
       2014-09-06 08:35:06 +08:00 via Android
    @tony1016 你可能没有真正明白 @bigeagle 的意思。你可以理解成redsocks转发的是tcp连接,相当于直接改变路由,或者是包装在vpn隧道里。根本不需要知道转发的是http还是https还是别的什么。说白了就是用socks代理加iptables实现一个效率比较差一点的VPN。
    jerryjhou
        4
    jerryjhou  
       2014-09-06 09:44:23 +08:00
    @tony1016 Socks和HTTP Connect都是直接封装TCP连接的(Socks5还可以包装UDP),
    Squid完全是设计问题,他本来就不是用来做透明代理的(做正向/反向代理是可以支持HTTPS的,且支持多种模式,在HTTP Connect之上再封装一层SSL)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2681 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 05:21 · PVG 13:21 · LAX 21:21 · JFK 00:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.