【问题标题】:Squid Proxy use for specific websites用于特定网站的 Squid 代理
【发布时间】:2020-01-27 04:43:45
【问题描述】:

所以我在我的 ec2 实例上安装并运行了 squid 代理服务器。我的任务是让任何 pc 客户端在访问某些站点时仅连接到代理服务器,并将使用常规 wifi 连接进行其他所有操作。诸如白名单之类的东西,或者仅对某些特定网站使用代理而不使用其他任何东西。

这样的事情有可能实现吗?

非常感谢任何帮助或指导。

干杯!

【问题讨论】:

    标签: proxy squid whitelist


    【解决方案1】:

    如果squid只用于网络,你可以看看pac(proxy auto configuration)。

    创建一个如下所示的 pac 文件 xxx.pac,并将其部署在一些简单的 Web 服务器上。

    function FindProxyForURL(url, host) {
        // use proxy for specific domains
        if (shExpMatch(host, "whitelist.com")) {
            return "PROXY squidip:port";
        }
        // by default use no proxy
        return "DIRECT";
    }
    

    然后将 pac url http://simple-web-server/xxx.pac 设置为 Internet 选项 -> 连接 -> 局域网设置 -> 使用自动配置脚本

    【讨论】:

      【解决方案2】:

      要强制对特定域使用代理,您可以在配置中使用 acl 和 never_direct 示例:-

      acl vkdomain dstdomain xyz.com
      never_direct allow vkdomain
      

      以上配置会一直代理xyz.com。

      对于白名单,您可以使用 acl 来创建文件并插入您需要代理的所有域。

      示例 - 用于代理所有域和子域,例如 example.com、xyz.com。创建文件 whitelist.txt 并插入以下文本

      .example.com
      .xyz.com
      

      现在在你的 squid 配置中使用下面的 acl 作为白名单

      acl whitelist dstdomain "/path/to/whitelist.txt"
      

      以上配置将代理example.com和xyz.com的所有域和子域

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-11
        • 1970-01-01
        相关资源
        最近更新 更多