技术解析

tinyproxy 透明代理的一些疑问。。。
0
2021-06-29 05:35:22
idczone

一台 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 中应该再配置一些规则?


没用过 tinyproxy , https 应该要配置 upstream proxy 吧。

也有可能 tinyproxy 并不支持 https 的透明代理,那个官方文档的描述也很模糊。

tinyproxy 是支持透明代理的,没说可不可以支持 https , http 是可以的,这个问题困扰很久

我用过 privoxy ,不过没有尝试 https 。
我建议你看 tinyproxy 的日志
https 通过 http 代理理论上是可以的

理论上是可以让 443 端口的请求通过 connect 的连接,代理服务器只负责转发,建立起连接 ,但是透明代理使用了 iptables 重定向后,似乎改变了报文,访问 https 就报 ssl 的错误,还是没能搞懂,看日志即使我访问了 https 的网站也没在日志中发现任何 443 端口相关的参数

似乎这个问题还是无解?

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服