向代理异常添加异常

向代理异常添加异常

我们公司有一个组策略,强制所有 (Win7) 计算机使用代理服务器,但有几个例外。其中一个例外是通配符 - *.ourcompanydomain.com

但是,我们只需要包含该通配符的 1 个子域名 - proxyme.ourcompanydomain.com- 通过代理而不是被排除。

我们知道我们可以逐个排除所有子域名,ourcompanydomain.com而不是使用通配符,但有几十个子域名,而且列表经常更改。设置起来很困难,更不用说维护了。

还有其他方法可以排除通配符*.ourcompanydomain.com并重新包含吗proxyme.ourcompanydomain.com

答案1

这可以通过使用自动配置脚本(又名 PAC 文件)来实现。

从“自动检测设置”部分了解 Web 代理配置

用户还可以使用对话框中的第二个复选框直接指定代理配置脚本的 URL。下面的 URL 字段直接指向目标脚本(例如http://proxy.contoso.com/proxy.pac)。

代理配置脚本(无论是通过 WPAD 发现的还是由用户手动指定的)都是 JavaScript 文件,其中至少包含一个 FindProxyForURL(url, host) 函数。每次浏览器需要决定将给定请求发送到何处时,都会调用此函数。它返回一个字符串,该字符串可以是:

“DIRECT” 表示请求应该绕过代理

“PROXY PrimaryProxy:8080; BackupProxy:81” 表示请求应该转发到端口 8080 上的代理 PrimaryProxy,除非该服务器无法访问,在这种情况下请求应该发送到端口 81 上的 BackupProxy。

并基于维基百科关于 PAC 的文章我相信这对你有用:

function FindProxyForURL(url, host) { 
    if (shExpMatch(host, "proxyme.mycompanydomain.com"))
    {
        return "PROXY myproxy.mycompanydomain.com:8080";
    }

    if (shExpMatch(host, "*.mycompanydomain.com"))
    {
        return "DIRECT";
    }
  
    return "PROXY myproxy.mycompanydomain.com:8080";
}

相关内容