Proxy Squid代理用于特定网站

Proxy Squid代理用于特定网站,proxy,squid,whitelist,Proxy,Squid,Whitelist,所以我在ec2实例上安装并运行了squid代理服务器。我的任务是让任何pc客户端在访问某些站点时仅连接到代理服务器,并将使用常规wifi连接进行其他一切。类似于白名单,或者只对某些特定站点使用代理,而不使用其他内容 这样的事情有可能实现吗 非常感谢您的帮助或指导 干杯 如果squid仅用于internet,您可以查看pac(代理自动配置) 创建一个pac文件xxx.pac,如下所示,并将其部署在一些简单的web服务器上 function FindProxyForURL(url, host) {

所以我在ec2实例上安装并运行了squid代理服务器。我的任务是让任何pc客户端在访问某些站点时仅连接到代理服务器,并将使用常规wifi连接进行其他一切。类似于白名单,或者只对某些特定站点使用代理,而不使用其他内容

这样的事情有可能实现吗

非常感谢您的帮助或指导


干杯

如果squid仅用于internet,您可以查看pac(代理自动配置)

创建一个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设置为
Internet选项->连接->Lan设置->使用自动配置脚本来强制使用特定域的代理。您可以在配置中使用acl,而不使用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的所有域和子域