一台 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 中应该再配置一些规则?
1
thekll 2017 年 3 月 18 日 via iPhone
没用过 tinyproxy , https 应该要配置 upstream proxy 吧。
|
2
thekll 2017 年 3 月 18 日
也有可能 tinyproxy 并不支持 https 的透明代理,那个官方文档的描述也很模糊。
|
4
la0wei 2017 年 3 月 22 日
我用过 privoxy ,不过没有尝试 https 。
我建议你看 tinyproxy 的日志 https 通过 http 代理理论上是可以的 |
5
RshMan OP @la0wei 理论上是可以让 443 端口的请求通过 connect 的连接,代理服务器只负责转发,建立起连接 ,但是透明代理使用了 iptables 重定向后,似乎改变了报文,访问 https 就报 ssl 的错误,还是没能搞懂,看日志即使我访问了 https 的网站也没在日志中发现任何 443 端口相关的参数
|
6
ecloud 2019 年 6 月 6 日
似乎这个问题还是无解?
|