Squid 作为透明代理仅打开 https 网站,而不是正常的 http

Squid 作为透明代理仅打开 https 网站,而不是正常的 http

我安装并配置了 squid 代理作为透明代理服务器。当我尝试使用 Firefox 时,代理服务器工作正常,我可以访问 https 和 http 端口。但当我使用透明代理服务器时,我只能访问 https 网站,就像https://google.com没有一样http://google.com

这是我的 squid.conf 的样子:

acl our_networks src 192.168.20.0/24
http_access allow our_networks
#Recommended minimum configuration:
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
#
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
#
acl SSL_ports port 443          # https
acl SSL_ports port 563          # snews
acl SSL_ports port 873          # rsync
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl Safe_ports port 631         # cups
acl Safe_ports port 873         # rsync
acl Safe_ports port 901         # SWAT
acl purge method PURGE
acl CONNECT method CONNECT


http_port 3128 transparent
icp_port 0

这是我的 IPtable 配置

$IPTABLES -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.20.21:3128
#$IPTABLES -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

我错过了什么?我正在跑步squid 2.7 stable 9

谢谢,

答案1

你缺乏对 SSL 的基本了解:)

SSL 连接的透明代理是不可能的,因为您的代理将无法提供正确的证书,导致所有浏览器显示有关每个 https 网站的证书警告。

除此之外,您的代理配置也相当不安全(它允许任何人从 192.168.20.0/24 连接到任何地方的任何端口)并且您忘记重定向端口 443(尽管正如我所说,它只会导致客户端出现错误)。

相关内容