一台 linux 主机,拥有两块网卡,一块接外网,一块做局域网接另外一台电脑,现在在 linux 主机上部署 tinyproxy 代理服务器,将局域网访问 80 , 443 端口的数据重定向到代理服务器中: 1.iptables -t nat -A PREROUTING -i lan0 -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 8888 2.iptables -t nat -A PREROUTING -i lan0 -s 192.168.0.0/24 -p tcp --dport 443 -j REDIRECT --to-ports 8888
tinyproxy 的配置如下:
User root Group root
Port 8888
Timeout 600
DefaultErrorFile "/usr/share/tinyproxy/default.html" StatFile "/usr/share/tinyproxy/stats.html" LogFile "/usr/var/log/tinyproxy/tinyproxy.log"
LogLevel Info PidFile "/usr/var/run/tinyproxy/tinyproxy.pid" MaxClients 100 MinSpareServers 5 MaxSpareServers 20 StartServers 10 MaxRequestsPerChild 0
ViaProxyName "router"
Filter "/usr/etc/tinyproxy/filter" FilterURLs On FilterDefaultDeny No
ConnectPort 443 ConnectPort 563
现在的问题是 http 的访问没有问题,但是无法访问 https 的网站,是不是这样部署透明代理相当于一个中间者拦截了 https ,导致连接的证书认证过程无法实现?还是说在 iptables 中应该再配置一些规则?
|      1thekll      2017-03-18 01:15:23 +08:00 via iPhone 没用过 tinyproxy , https 应该要配置 upstream proxy 吧。 | 
|      2thekll      2017-03-18 01:48:57 +08:00 也有可能 tinyproxy 并不支持 https 的透明代理,那个官方文档的描述也很模糊。 | 
|      3RshMan OP @thekll tinyproxy 是支持透明代理的,没说可不可以支持 https , http 是可以的,这个问题困扰很久 | 
|      4la0wei      2017-03-22 10:40:26 +08:00 我用过 privoxy ,不过没有尝试 https 。 我建议你看 tinyproxy 的日志 https 通过 http 代理理论上是可以的 | 
|      5RshMan OP @la0wei 理论上是可以让 443 端口的请求通过 connect 的连接,代理服务器只负责转发,建立起连接 ,但是透明代理使用了 iptables 重定向后,似乎改变了报文,访问 https 就报 ssl 的错误,还是没能搞懂,看日志即使我访问了 https 的网站也没在日志中发现任何 443 端口相关的参数 | 
|  |      6ecloud      2019-06-06 23:51:19 +08:00 似乎这个问题还是无解? |