Squid 阻止非代理用户

Squid 阻止非代理用户

我安装了监听端口 3128 的鱿鱼。现在,我想向每个尝试连接到任何 http/https 网页且未设置代理的用户显示一个错误网页。我需要设置什么参数?

答案1

我不认为你可以让鱿鱼为你做这件事。

您需要将路由器上的传出 http/https 流量重定向到某个本地 Web 服务器,无论请求什么 URL,该服务器都会响应给定的错误页面。

当 Web 服务器在网关本身上运行时,重定向是最简单的;然后你可以添加这样的规则:

iptables -t nat -A PREROUTING -p tcp --dport http -j REDIRECT
iptables -t nat -A PREROUTING -p tcp --dport https -j REDIRECT

这会将发往这些端口的任何流量发送到本地系统。

请注意,对于 https 流量,使用将出现证书错误,因为本地系统使用的证书肯定与请求的主机名不匹配。

在网络服务器端,您可以使用包含消息的 index.html 页面作为 404 错误文档,这样无论请求什么 URL,都会提供该页面。

当然最简单的方法就是拒绝所有http/https流量,浏览器会报错。您可以使用REJECTwith --reject-with adm-prohibited,希望浏览器将此状态传递给用户。

相关内容